在谈设计模式之前,首先说一下面向对象编程,从活字印刷术的例子看面向对象的好处,面向对象必须: 1. 可维护:修改的话只需要修改某一个字; 2. 可复用:别的字可以重新拿来用; 3. 可扩展:如果要加字,只需要刻新字; 4. 灵活性好:横排竖排都可以。 通过封装、继承、多态把程序的耦合度降低,传统印刷 ...
分类:
其他好文 时间:
2016-12-03 18:41:01
阅读次数:
318
设计模式之简单工厂模式
动机:
不暴露实例化逻辑来创建对象。通过公共的接口创建新的对象。
这是一个简单的实现,客户端需要一个product,但是client不直接使用new对象,而是通过提供需要的对象信息来找factory得到新的product。
这个factory实例化一个具体的product并返回(..
分类:
其他好文 时间:
2016-11-30 23:20:31
阅读次数:
184
1、编制类图 2、打开vs2010 3、 依次点击菜单“文件(F)”>新建(N)>”项目(P)”,弹出下面对话框: 4、 在弹出的对话框中,在模板选项下选择“Visual C#”->“Windows”选项,最后选择“控制台应用程序”。 5、 在名称文本(N)框中输入项目名称“SimpleFactor ...
分类:
其他好文 时间:
2016-11-24 14:01:49
阅读次数:
153
简单工厂: 简单工厂的优点: 1.去除客户端与具体产品的耦合,在客户端与具体的产品中增加一个工厂类,增加客户端与工厂类的耦合 2.封装工厂类,实现代码平台的复用性,创建对象的过程被封装成工厂类,可以多平台调用这个工厂 简单工厂的缺点: 1.增加新功能的时候,需要修改case代码块,违反了ocp原则( ...
分类:
编程语言 时间:
2016-10-30 19:18:48
阅读次数:
240
简单工厂模式 最近朋友推荐了一本书《大话设计模式》,此书刚刚到,博主也还没开始看,希望以博文的方式与大家一起分享,一起学习. 简单工厂模式,也就是说,到底要实列化谁,将来会不会增加实列化的对象,比如增加开根运算,这是很容易实列化的地方应该考虑用一个单独的类来做这个创造实列的过程,这就是工厂,来我们一 ...
分类:
其他好文 时间:
2016-09-04 01:33:46
阅读次数:
158
课程回顾: 接口:1、属性:public\static\final2、方法:public\abstract 多态:1、静态化(编译时)多态重载2、动态化(运行时)多态重写对象转型 1、向上转型 2、向下转型 今日内容:内部类:定义在类的内部的类1、成员内部类格式:[修饰符] class 类名 { } ...
分类:
编程语言 时间:
2016-07-22 21:21:39
阅读次数:
175
引言:
假设现在有一个超市(Market),超市销售饼干(Biscuit)、水果(Fruit)、饮料(Drink)三种食品。
按照常规,我们建立三个类:class Biscuit、class Fruit、class Drink。class Biscuit{
public:
Biscuit(){}
~Biscuit(){}
void Show(){ cout << "H...
分类:
其他好文 时间:
2016-07-14 15:27:45
阅读次数:
163
优点,是灵活应对变化,降低程序的耦合性。 缺点,增加算法,都要修改对应的工厂类。 ...
分类:
其他好文 时间:
2016-07-02 00:25:57
阅读次数:
103
先看代码classGcFactory
{
publicvoiddemo(){
FactoryftFac=newFactory();
IFactoryif1=ftFac.getInstance("demo1");
if1.run();
IFactoryif2=ftFac.getInstance("demo2");
if2.run();
}
}
interfaceIFactory{
publicvoidrun();
}
classDemo1:IFactory{
publicvoidrun()
{
Con..
分类:
其他好文 时间:
2016-04-30 01:14:57
阅读次数:
194
Java设计模式之简单工厂模式近来在学习Java的设计模式,一直觉得设计模式很难,所以一直没有去接触,一则是工作比较忙没有闲工夫去学习,二来是因为自己比较懒所以也懒得动,幸亏今天在公司还挺闲的,所以找了一本书来学习下Java的设计模式。
简单工厂的定义
应用简单工厂来解决问题的思路
简单工厂的结构和说明
简单工厂代码
使用简单工厂重写示例
模式讲解
简单工厂中方法的写法
简单工厂的优缺点
思考简单工...
分类:
编程语言 时间:
2016-04-29 18:18:27
阅读次数:
244