简单工厂 定义:简单工厂模式属于创建型模式,其又被称为静态工厂方法模式,这是由一个工厂对象决定创建出哪一种产品类的实例 工厂类 public class CamputerFactory { public static Computer createComputer1(String type) { C ...
分类:
其他好文 时间:
2018-06-04 11:48:42
阅读次数:
100
一、引言: 在前面我们学习了C#设计模式中的前十个模式——单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、适配器模式、桥接模式、装饰者模式、组合模式。在继续学习后面的设计模式之前,把前面学习过的设计模式整理归纳复习一遍是很有必要的。下面让我们来复习一下这十个设计模式的一些基 ...
简单工厂模式的不足: 在简单工厂模式中,只提供了一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它知道每一个产品对象的创建细节,并决定何时实例化哪一个产品类。简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,加入必要的处理逻辑,这违背了“开闭原则”。在简单工厂模式中,所有的产 ...
分类:
编程语言 时间:
2018-06-02 22:15:11
阅读次数:
224
考虑动机: 考虑一个简单的软件应用场景,一个软件系统可以提供多个外观不同的按钮(如圆形按钮、矩形按钮、菱形按钮等),这些按钮都源自同一个基类,不过在继承基类后不同的子类修改了部分属性从而使得它们可以呈现不同的外观,如果我们希望在使用这些按钮时,不需要知道这些具体按钮类的名字,只需要知道表示该按钮类的 ...
分类:
其他好文 时间:
2018-06-02 19:05:55
阅读次数:
172
我们一般制造对象时,采用操作符new来进行创建。但是慢慢我们了解到实例化这个活动不应该总是公开地进行,同时初始化还经常造成“耦合”的问题。 如果我们不希望出现上述问题,那么我们就有必要认识一下“工厂模式”,它将有助于我们从复杂的依赖中解脱出来。 1)为什么说“new”不好? 当看到“new”,就会想 ...
分类:
其他好文 时间:
2018-06-02 18:40:30
阅读次数:
217
工厂模式作为对简单工厂模式的拓展,也就是对工厂的拓展,添加子工厂来创造具体的产品 简单工厂模式的工厂代码 这个时候老板再说小李啊给我加个产品进来,就可以在不改变原来的代码的情况下进行产品的拓展 例如:添加一个水果香蕉 也就是添加子工厂,对于软件生命来说会使他健壮,但是对于程序员来说就需要在添加多个产 ...
分类:
其他好文 时间:
2018-06-02 11:39:25
阅读次数:
153
简单工厂模式 我有一个水果工厂负责生产 苹果和橘子 这个时候我有一个水果的抽象接口,所有水果都来实现这个接口 这样通过这个工厂就能由客户决定生产什么水果 这样就能得到客户想要的东西,而客户并不知道如何实现的生产过程 但是也有一个缺点就是,老板过来说,我们的销量太好了,准备添加其他水果,小李啊你来搞一 ...
分类:
其他好文 时间:
2018-06-02 11:17:10
阅读次数:
187
模式是基于在面对对象的思想上实现的计算机编程模式思维面对对象的模式思维有四大好处:可维护,可复用,可拓展,灵活性好基于三个步骤,封装,继承,多态举个例子:计算机要完成两个数字之间的运算一、就要考虑到定义一个可被继承类1.需要两个数的字段并且将之属性化2. 一个virtual的虚方法在每一个运算方法中 ...
分类:
其他好文 时间:
2018-06-01 23:15:56
阅读次数:
183
策略模式(Strategy):它定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户在简单工厂的时候我们用到的是计算机运算的例子,其实我们可以想想在计算机也是各种不同的算法,但算法本身只是一种策略,最重要的是这些算法随时都可能互相替换,这就是变化点,而封 ...
分类:
其他好文 时间:
2018-06-01 23:12:24
阅读次数:
190
工厂方法模式 让一个具体的类对应一个工厂。然后把所有工厂进行抽象。通过抽象工厂实现具体的工厂来创建对象。如果需要新增一个类,那么就需要创建一个工厂类来创建对象 优点: 1. 符合开闭原则。是简单工厂改进 2. 实现创建和使用分离 缺点: 1. 类的个数庞大。增加一个具体对象类就需要增加一个对应工厂类 ...
分类:
其他好文 时间:
2018-06-01 13:29:35
阅读次数:
166