2010年8月28日
摘要: 建造者模式的好处就是隐藏了产品时如何组装产品,建造者模式主要用于一些复杂的对象,内部建造的顺序是固定的,但是每部建造的过程有很大的变化.C#代码:/Files/cappuccino/BuilderModel.rar C++代码:/Files/cappuccino/BuilderModelForC.rar 阅读全文
posted @ 2010-08-28 01:50 陈孝勇 阅读(234) 评论(0) 推荐(0) 编辑
  2010年8月27日
摘要: 外观模式在这些地方可以用:1、在开发初期阶段往往会对程序进行分层,层与层之间可以的交互可以用外观模式;2、在开发阶段,子系统往往会因为不断的重构而变的复杂,这时加上一个外观类往往会使开发变得简单,3、要在一个大型系统上扩展功能,也可以使用外观模式,让一部分人专门开发外观类而另一部分人用外观类提供的接口来实现新功能,以遵守开发封闭原则;3、大家分享代码 C#:/Files/cappuccino/Ex... 阅读全文
posted @ 2010-08-27 11:06 陈孝勇 阅读(213) 评论(0) 推荐(0) 编辑
  2010年8月26日
摘要: 本版本的代码用了C++的复制构造函数,=重载,析构,const这些C++对初学者比较难的东西,弄完了这个总算有所明白了,继续加油代码与大家分享:/Files/cappuccino/PrototypeModel_Second.rar 阅读全文
posted @ 2010-08-26 15:28 陈孝勇 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式用C++翻译过来了,代码如下/Files/cappuccino/TemplateMode.rar 阅读全文
posted @ 2010-08-26 00:18 陈孝勇 阅读(217) 评论(0) 推荐(0) 编辑
  2010年8月25日
摘要: 当一些应用中就各个不同的类就一些小小的细节不同的时候就用模板模式比较适合,在模板模式中就是一些细节推迟到子类中实现。下面用C#实现了模板方法,代码下载(/Files/cappuccino/TemplateModel.rar)代码中有两个工程TemplateModel是模板模式一个整体的概念,TemplateModePage是模板模式的一个具体应用,TemplateModel的UML图如下: 阅读全文
posted @ 2010-08-25 11:45 陈孝勇 阅读(411) 评论(0) 推荐(0) 编辑
  2010年8月24日
摘要: 代码如下:这个版本的代码明显带着C#的影子,下个版本会进行修改,会用到const,加油加油。代码下载地址如下:/Files/cappuccino/PrototypeModelFirstForC.rar后记:今天二春走了,郁闷中,昨天比较郁闷忘记传代码了,不好意思 阅读全文
posted @ 2010-08-24 21:13 陈孝勇 阅读(213) 评论(0) 推荐(0) 编辑
  2010年8月15日
摘要: 1、如果需要析构函数,则它也需要赋值操作符和复制构造函数,这是一个有用的经验法则。这个规则通常称为三法则  2、析构函数与复制构造函数赋值函数之间一个重要区别是,即使我们编写了自己的析构函数,合成析构函数仍然运行。(先运行自己定义的析构函数,再运行合成析构函数)  3、析构函数没有返回值,没有形参,在类名之前加“~”,是个成员函数。 阅读全文
posted @ 2010-08-15 02:22 陈孝勇 阅读(204) 评论(0) 推荐(0) 编辑
  2010年8月13日
摘要: 今天学习了原型模式,并写了一个例子,请高手们指教代码如下:/Files/cappuccino/PrototypeModel.rar 阅读全文
posted @ 2010-08-13 01:37 陈孝勇 阅读(292) 评论(0) 推荐(0) 编辑
  2010年8月12日
摘要: 工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法模式克服了简单工厂模式违反开放-封闭原则的缺点,又保持了封装对象创建过程的优点,缺点是由于每加一个产品,就需要加一个产品工厂类,增加了额外的开发量。 C#代码下载:/Files/cappuccino/Factory.rar C++代码下载:/Files/cappuccino/FactoryForC.rar以上代码相应的UM... 阅读全文
posted @ 2010-08-12 23:32 陈孝勇 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 一、定义  纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后加“=0”   virtual void funtion1()=0 二、引入原因  1、为了方便使用多态特性,我们常常需要在基类中定义虚拟函数。   2、在很多情况下,基类本身生成对象是不合情理的。例如,动物作为一个基类可以派生出老... 阅读全文
posted @ 2010-08-12 15:11 陈孝勇 阅读(302) 评论(0) 推荐(0) 编辑