- 浏览: 38855 次
- 性别:
- 来自: 上海
最新评论
1.对于工厂我的理解:
良好的封装性。使用和创建,初始化分开。
创建和初始化的工作交给工厂类,这样,不必在使用的地方完成大量复杂的初始化工作。
http://hi.baidu.com/wuweihi/blog/item/456a723f7bdd01c77c1e7156.html
http://blog.csai.cn/user1/25929/archives/2009/35622.html
openoffice中的对话框工厂。
对话框工厂:
F:\DEV300-hg\sd\inc\sdabstdlg.hxx
先定义好类
class AbstractAnimationDlg : public VclAbstractDialog
{
public:
//virtual void Apply(TabPage* pPage) = 0;
virtual const SfxItemSet* GetOutputItemSet() const =0;
};
1.在工厂类SdAbstractDialogFactory里定义一个纯虚函数,例如:
virtual AbstractAnimationDlg* CreateAnimationDlg( ::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView )=0;
SdAbstractDialogFactory::create()创建一个工厂对象。(怎么实现的?有纯虚的类能不能有实例?????)
=====================================================================
class SdAbstractDialogFactory_Impl : public SdAbstractDialogFactory实现了虚基类。
============================================================================================================
SdAbstractDialogFactory_Impl实现了AbstractAnimationDlg
class AbstractAnimationDlg_Impl: public AbstractAnimationDlg
{
DECL_ABSTDLG_BASE(AbstractAnimationDlg_Impl,::sd::AnimationDlg)//定义一个构造函数和虚构函数。构造函数的参数为:::sd::AnimationDlg *p,并初始化了其对象成员pDlg
//virtual void Apply( TabPage* pPage );
virtual const SfxItemSet* GetOutputItemSet() const;
};
DECL_ABSTDLG_BASE(AbstractAnimationDlg_Impl,::sd::AnimationDlg)
展开:
::sd::AnimationDlg *pDlg;
public:
AbstractAnimationDlg_Impl(::sd::AnimationDlg *p):pDlg(p)
{
}
virtual ~Class();
[0] = 0x117b3f80 SdAbstractDialogFactory_Impl::CreateBreakDlg(Window *, sd::DrawView *, sd::DrawDocShell *, unsigned long, unsigned long)
良好的封装性。使用和创建,初始化分开。
创建和初始化的工作交给工厂类,这样,不必在使用的地方完成大量复杂的初始化工作。
http://hi.baidu.com/wuweihi/blog/item/456a723f7bdd01c77c1e7156.html
http://blog.csai.cn/user1/25929/archives/2009/35622.html
openoffice中的对话框工厂。
对话框工厂:
F:\DEV300-hg\sd\inc\sdabstdlg.hxx
先定义好类
class AbstractAnimationDlg : public VclAbstractDialog
{
public:
//virtual void Apply(TabPage* pPage) = 0;
virtual const SfxItemSet* GetOutputItemSet() const =0;
};
1.在工厂类SdAbstractDialogFactory里定义一个纯虚函数,例如:
virtual AbstractAnimationDlg* CreateAnimationDlg( ::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView )=0;
SdAbstractDialogFactory::create()创建一个工厂对象。(怎么实现的?有纯虚的类能不能有实例?????)
=====================================================================
class SdAbstractDialogFactory_Impl : public SdAbstractDialogFactory实现了虚基类。
============================================================================================================
SdAbstractDialogFactory_Impl实现了AbstractAnimationDlg
class AbstractAnimationDlg_Impl: public AbstractAnimationDlg
{
DECL_ABSTDLG_BASE(AbstractAnimationDlg_Impl,::sd::AnimationDlg)//定义一个构造函数和虚构函数。构造函数的参数为:::sd::AnimationDlg *p,并初始化了其对象成员pDlg
//virtual void Apply( TabPage* pPage );
virtual const SfxItemSet* GetOutputItemSet() const;
};
DECL_ABSTDLG_BASE(AbstractAnimationDlg_Impl,::sd::AnimationDlg)
展开:
::sd::AnimationDlg *pDlg;
public:
AbstractAnimationDlg_Impl(::sd::AnimationDlg *p):pDlg(p)
{
}
virtual ~Class();
[0] = 0x117b3f80 SdAbstractDialogFactory_Impl::CreateBreakDlg(Window *, sd::DrawView *, sd::DrawDocShell *, unsigned long, unsigned long)
发表评论
-
指针 多维数组
2012-06-05 16:12 723这篇文章写的很好 http://www.cnblogs.com ... -
pImp
2011-11-08 17:24 867http://www.cnblogs.com/JulyZhan ... -
关于构造函数,析构函数,explicit等内容
2011-11-01 17:04 1222一.编译器会为我们做什 ... -
C语言标准
2011-10-21 12:11 12221.K&R C 1978年,丹尼斯·里奇(Dennis ... -
函数指针实现回掉函数
2011-10-14 17:47 969用法: 头文件中声明: DECL_LINK( Paintin ... -
typedef和指针结合
2011-10-14 17:42 8031. typedef (int *) pInt; 2.type ... -
const的理解和应用
2011-10-14 16:52 1328const的理解和应用 一.理解 const是一种语义上的约束 ... -
空指针的判断
2011-10-11 17:43 931请看NULL的定义: #if !defined(__cp ... -
GUN C 和 ANSI C的几个区别
2011-10-11 10:52 1106http://hi.baidu.com/deep_pro/bl ... -
浮点数的比较
2011-10-11 10:48 1244一浮点数的知识 1.首先浮点数不用补码表示,只有int型才用补 ... -
关于字符串倒转
2011-10-10 20:25 789有纯倒转,也有按单词为单位的。想做个总结 #inclu ... -
C数组和指针的区别
2011-10-10 19:25 726看《C专家编程》总结的的。 首先是个经典的例子: 一个文件定义 ... -
不用中间变量交换数据
2011-10-10 14:42 666那种加加减减的方法其实不对。因为缩小了数据范围。 a1=a1+ ... -
C++模板
2011-10-08 15:52 651template是关键字,template ... -
Quick Sort(快速排序)
2011-10-08 11:20 699Quick Sort算法描述如下: 假设S代表将被处理的序列 ... -
约瑟夫环的解答
2011-10-07 22:48 650http://blog.csdn.net/kittyjie/a ... -
Linux判断大小尾数(big-endian,little-endian)的方法
2011-10-07 22:12 1510static union { char c[4]; u ... -
c++基本文件操作
2011-09-30 00:28 780#include<iostream> #incl ... -
关于文件操作的头文件,类
2011-09-27 14:11 1098C++ 可以看这个 http://www.cplusplus. ... -
关于回车,换行,EOF
2011-09-26 17:41 2805回车换行: http://www.cnblogs.com/fa ...
相关推荐
尽管没有具体的标签描述,但我们可以从"Dialogfactory"这个文件名推测,它可能是一个实现了对话框工厂模式的类,旨在方便地创建和管理各种类型的对话框。 在Android中,基本的对话框类型包括:AlertDialog、...
`JOptionPane`类提供了静态工厂方法来创建不同类型的对话框,如消息对话框、确认对话框、输入对话框和选项对话框等。这些对话框通常用于显示信息、获取用户输入或提示用户进行选择等操作。 #### 三、对话框类型及其...
总的来说,学习和理解Android的基本对话框源码,不仅可以帮助开发者掌握如何在应用中使用对话框,还可以进一步理解面向对象设计原则和设计模式,尤其是工厂模式在实际开发中的应用,这对于提升Android开发技能至关...
6. **设计模式**:设计模式如工厂模式或单例模式可以帮助管理和控制对话框的生命周期,确保正确创建和销毁,防止资源泄漏。 7. **对话框链**:有时,多个对话框会形成一个序列,用户需要按照一定的顺序依次通过它们...
可以采用工厂模式或单例模式来创建和管理等待对话框,确保在程序的多个地方都能方便地使用。 9. **代码实践**: 文件“WindowsWaitDialog”可能包含一个自定义的`WaitDialog`类,实现了上述功能。这个类可能包括...
JFace是基于SWT的一个更高层次的API,它提供了更多抽象和便利的功能,如数据绑定、视图模型、对话框工厂等,可以简化SWT的使用,减少代码量。 11. **Eclipse IDE中的应用**: SWT是Eclipse IDE的基础,许多...
6. **使用设计模式**:例如工厂模式、中介者模式等,可以更好地组织代码结构,提高可维护性和可扩展性。 在具体实现过程中,我们需要关注以下几个关键点: - **数据封装**:确定需要交换的数据类型,并将其封装成...
可以创建一个工厂函数,根据传入的参数(对话框类型)返回相应配置的对话框实例。 7. **可扩展性**: 为了使插件更易于维护和扩展,可以采用模块化的设计。例如,将对话框的创建、拖动处理、显示隐藏等逻辑封装成...
ATL工程会包含必要的COM基础设施,如导出接口、类工厂等。然后,你需要引入MFC库,这可以通过在ATL工程的属性设置中添加MFC支持来实现。确保在预处理器定义中包含 `_AFXDLL` 和 `ATL_NO_LEAK_DETECT`,以便使用MFC...
在Android开发中,Dialog对话框是一种非常常见的组件,它用于在主界面之上显示临时的通知或获取用户的简单输入。本资源“安卓Dialog对话框相关-基本的对话框.rar”似乎包含了一些关于如何创建和使用基本Dialog的基本...
5. **设计模式**:在大型项目中,可以使用工厂模式来创建对话框,统一管理对话框的创建和关闭,使得代码更加整洁且易于维护。 6. **状态管理**:为了跟踪哪些对话框正在显示,你可以维护一个全局的状态机或者使用...
8. **设计模式**:在嵌套对话框的设计中,可能会使用到如工厂模式(用于创建对话框实例)、观察者模式(用于子对话框状态的更新通知)等设计模式。 通过对这个源码的学习和分析,开发者可以深入理解如何在C++ MFC...
DialogFragment对话框是Android开发中的一个关键组件,它在应用程序中用于显示临时的、轻量级的用户交互界面。在Android 3.0(API级别11)引入,DialogFragment结合了Fragment的功能与Dialog的功能,使得在处理...
文件名中的 "Dialogfactory" 暗示了这个例子可能包含一个工厂模式的实现,用于创建不同类型的对话框。工厂模式是一种设计模式,它提供了一种创建对象的最佳方式。在Android中,可以创建一个 `DialogFactory` 类,...
- 创建对话框:然后,通过调用预定义的工厂方法或者自定义构造函数来创建对话框实例。 - 定制内容:开发者可以提供自定义的XML布局文件作为对话框的内容视图,也可以使用已有的UI组件进行组合。 - 显示和关闭:...
`AlertDialog`提供了一个工厂模式的接口`AlertDialog.Factory`,可以通过实现该接口创建自定义的对话框。这在需要大量创建相似对话框时很有用。 ```java // 实现Factory接口 class MyDialogFactory implements ...
Spring Rich Client还提供了丰富的用户界面组件和工具,例如表单构建器、对话框工厂、菜单和工具栏管理等,这些工具可以帮助开发者快速创建和定制用户界面。同时,该框架支持数据绑定,使得UI控件可以直接与后台数据...
工厂级供应商不参与配置,需在采购组织视图中执行菜单“附加→附加采购数据”,在弹出的对话框中指定发货工厂,此项设置就将供应商与工厂进行了关联绑定,一个工厂最多只能绑定一个供应商,而多个供应商不能绑定相同...
- 在弹出的对话框中切换到“安全性”选项卡。 - 点击“编辑”按钮进入权限编辑界面。 - 添加“Everyone”用户组,并赋予“完全控制”权限。 4. **确认启动权限**: - 同样在“安全性”选项卡中,切换到“启动和...