设计模式开始--生成器模式
2015-03-27 22:29
211 查看
生成器模式
设计模式的原则:尽量暴漏在主程序里面的代码扩展性强一些,多用接口和虚拟类,少用实现类,这样再改程序的时候就方便的多了。
1、作用:一个Product类的产生需要多个其他的类Unit顺序生成之后组合而成,而且这些Unit的产生方法是不固定的。
举例而言一个对象会有一些重要的性质,在它们没有恰当的值之前,对象不能作为一个完整的产品使用。比如,一个电子邮件有发件人地址、收件人地址、主题、内容、附录等部分,而在最起码的收件人地址未被赋值之前,这个电子邮件不能发出。有些情况下,一个对象的一些性质必须按照某个顺序赋值才有意义。在某个性质没有赋值之前,另一个性质则无法赋值。这些情况使得性质本身的建造涉及到复杂的商业逻辑。这时候,此对象相当于一个有待建造的产品,而对象的这些性质相当于产品的零件,建造产品的过程就是组合零件的过程。由于组合零件的过程很复杂,因此,这些"零件"的组合过程往往被"外部化"到一个称作建造者的对象里,建造者返还给客户端的是一个全部零件都建造完毕的产品对象。(摘抄自http://www.cnblogs.com/lds85930/articles/643143.html)
2、类图:
View Code
设计模式的原则:尽量暴漏在主程序里面的代码扩展性强一些,多用接口和虚拟类,少用实现类,这样再改程序的时候就方便的多了。
1、作用:一个Product类的产生需要多个其他的类Unit顺序生成之后组合而成,而且这些Unit的产生方法是不固定的。
举例而言一个对象会有一些重要的性质,在它们没有恰当的值之前,对象不能作为一个完整的产品使用。比如,一个电子邮件有发件人地址、收件人地址、主题、内容、附录等部分,而在最起码的收件人地址未被赋值之前,这个电子邮件不能发出。有些情况下,一个对象的一些性质必须按照某个顺序赋值才有意义。在某个性质没有赋值之前,另一个性质则无法赋值。这些情况使得性质本身的建造涉及到复杂的商业逻辑。这时候,此对象相当于一个有待建造的产品,而对象的这些性质相当于产品的零件,建造产品的过程就是组合零件的过程。由于组合零件的过程很复杂,因此,这些"零件"的组合过程往往被"外部化"到一个称作建造者的对象里,建造者返还给客户端的是一个全部零件都建造完毕的产品对象。(摘抄自http://www.cnblogs.com/lds85930/articles/643143.html)
2、类图:
public class Product { Unit one; Unit two; public void showInfo() { System.out.println(one.getInfo()+"-->"+two.getInfo()); } }
View Code
相关文章推荐
- 设计模式入门之生成器模式
- 设计模式----Builder(生成器)
- 开始慢慢学习这本书了。。Python编程实战:运用设计模式、并发和程序库创建高质量程序
- 设计模式讲解与代码实践(二)——生成器
- 设计模式之-生成器模式
- IOS 设计模式 生成器模式
- 从今天开始全面学习设计模式...坚持就是胜利
- java设计模式之生成器模式
- 【设计模式】创建型模式之生成器Builder
- 再次研究设计模式 第二章 生成器
- golang 并发设计模式(一)--资源生成器模式
- 设计模式-生成器模式
- gof设计模式——生成器c++实现
- java设计模式之生成器模式
- 不懂接口、反射、委托、设计模式足足写了5年的代码 -- 写给初学者(谈美女生成器不谈代码生成器)
- 设计模式——单例,原型,生成器
- 设计模式之Builder生成器模式
- 设计模式之简单工厂模式(“从头开始学习设计模式”系列)
- 设计模式之-生成器模式
- 设计模式开始--职责链模式