简单工厂是一个实体类,包含了根据不同参数直接创建对象的方法。而抽象工厂(Abstract Factory pattern)则是在简单工厂的基础上将(多个)工厂类进一步进行抽象(如UML图示): 在工程中,我们创建了两个实体类:动物类(Animal)和植物类(Plant);这两个类分别遵循协议Anim ...
分类:
其他好文 时间:
2016-03-30 19:37:03
阅读次数:
172
相对于 抽象工厂模式,创建者模式在处理 ”工厂“ 生产的 ”产品“ 关系之间更加灵活。 例子:(参照 抽象工厂模式 那一篇的例子代码) 新定义工厂类(“工厂” 不再处理 ”产品“ 的 联系了) 创建者类:(处理这个联系) 客户端调用类 ...
分类:
其他好文 时间:
2016-03-30 19:21:38
阅读次数:
137
1.简单工厂模式1 简单介绍
简单工厂模式就是将对象产生的细节进行隐藏,客户端进行调用。
它又称为静态工厂方法模式,属于类的创建型模式。2.实现原理
为了将类的职能进行细分,定义一个具体的工厂类来负责创建类的对象,被创建的实例通常都具有共同的父类。
主要由三部分组成:工厂类 抽象类和实现抽象类的具体类;
该模式中包含的角色及其职责
工厂(Factory)角色...
分类:
其他好文 时间:
2016-03-29 10:35:25
阅读次数:
243
上篇讲述简单工厂模式,其优点在于通过工厂类进行业务解耦。但是工厂方法中包含了逻辑判断,根据客户端的选择条件动态实例化相关的类,如果添加新的手机型号,则需要修改工厂类里的逻辑判断,新增case去判断该型号的分支,这违背了开放-封闭的设计原则。 开放-封闭原则,是说类、模块、函数等等,可以扩展,但是不能... ...
分类:
编程语言 时间:
2016-03-28 15:21:27
阅读次数:
139
三种实例化bean的方式1.使用类构造器实例化 使用反射利用类的无参构造器生成实例。2.使用静态工厂方法实例化--配置文件: --工厂类: 3.使用实例化的工厂对象中的方法实例化,首先要构造出工厂实例,然后在生成实例--配置文件: --工厂类: 我们一般写代码的时候都会分层,显示层,业务层,数据访问 ...
分类:
编程语言 时间:
2016-03-26 12:18:02
阅读次数:
164
2016年苹果春季发布会发布了一款迄今最高性能的4英寸iPhone,那么问题来了,苹果公司的代工厂到底生产多少种尺寸的手机呢? 下面就让简单工厂告诉我们答案吧。 由工厂决定生产哪种型号的的手机,苹果公司的工厂就是一个工厂类,是简单工厂模式的核心类。 iPhone5、iPhone5S、iphone6都...
分类:
编程语言 时间:
2016-03-22 16:12:46
阅读次数:
308
工厂模式分为三种模式,分别为: 下面就分别介绍一下这三种设计模式: 简单工厂模式就是由一个工厂类根据传入的参数量,来决定创建哪一种产品类的实例。(仔细理解这句话,非常重要) 结构图: 上图涉及三个类: 源代码实例: 抽象产品类(Product): Product.java: 具体产品类(Concre
分类:
其他好文 时间:
2016-03-20 23:57:32
阅读次数:
371
在上一专题中介绍了工厂方法模式,工厂方法模式是为了克服简单工厂模式的缺点而设计出来的,简单工厂模式的工厂类随着产品类的增加需要增加额外的代码),而工厂方法模式每个具体工厂类只完成单个实例的创建,所以它具有很好的可扩展性。但是在现实生活中,一个工厂只创建单个产品这样的例子很少,因为现在的工厂都多元化了
效果: 编写节目类 属性:播出时间、时段、名称、视频路径 编写频道基类 属性:频道名称、频道节目单位置、节目列表 抽象方法:Fetch() 编写频道子类 继承“频道基类”,实现Fetch()【只写方法声明】 编写频道工厂类 方法:实现创建频道子类 第一步.创建几个类: 01:创建一个电视类(TvPr
分类:
其他好文 时间:
2016-03-16 23:59:46
阅读次数:
567