[设计模式]创建型模式
2015-06-03 15:05
204 查看
[b][b]定义[/b][/b]
创建型模式抽象了实例化的过程。它将系统与它的对象创建、结合、表示的方式分离。创建型模式都会将关于该系统使用哪些具体的类的信息封装起来。
在软件工程中,创建型模式是处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象。
基本的对象创建方式可能会导致设计上的问题,或增加设计的复杂度。创建型模式通过以某种方式控制对象的创建来解决问题。
[b][b][b]主导思想[/b][/b][/b]
1、将系统使用的具体类封装起来。2、隐藏这些具体类的实例创建和结合的方式。
[b][b][b]分类[/b][/b][/b]
创建型模式又分为对象创建型模式和类创建型模式。对象创建型模式处理对象的创建,类创建型模式处理类的创建。对象创建型模式把对象创建的一部分推迟到另一个对象中。(代表模式:单例模式、建造者模式、原型模式、抽象工厂模式)
类创建型模式将它对象的创建推迟到子类中。(代表模式:工厂方法模式)
[b][b][b]应用[/b][/b][/b]
现代软件工程更加依赖对象的组合,而不是类的继承,强调从硬编码的行为转变到定义一组基本行为来组合成复杂的行为。硬编码的行为不够灵活,因为如果想要改变设计的一部分,需要通过重写或者重新实现才能完成。
另外,硬编码没有提高重用性,而且难以跟踪错误。由于这些原因,创建型模式比硬编码的行为更有用。
创建型模式使设计变得更灵活,提供了不同的方式,从代码中移除了对需要实例化的具体类的引用。换句话说,这些模式增强了对象和类之间的独立性。
在以下情况中,可以考虑应用创建型模式:
一个系统需要和它的对象和产品的创建相互独立。
一组相关的对象被设计为一起使用。
隐藏一个类库的具体实现,仅暴露它们的接口。
创建独立复杂对象的不同表示。
一个类希望它的子类实现它所创建的对象。
类的实例化在运行时才指定。
一个类只能有一个实例,而且这个实例能在任何时候访问到。
实例应该能在不修改的情况下具有可扩展性。
[b]代表模式[/b]
单例模式 (Singleton Pattern)工厂方法模式 (Factory Method Pattern)
抽象工厂模式 (Abstract Factory Pattern)
建造者模式 (Builder Pattern)
原型模式 (Prototype Pattern)
[b]推荐阅读[/b]
本文属于 设计模式系列 。[b]参考资料[/b]
《大话设计模式》《HeadFirst设计模式》
相关文章推荐
- Spring 之注解事务 @Transactional
- jdk1.7和jdk1.6的Collections.sort方法不一样
- 遍历Map的四种方法
- Maven环境下搭建Nexus本地仓库
- A brute-force approach to check if a line segment crosses a simple polygon
- DataSource 和 DataSet 区别
- Android的GPS的代码分析(三)
- 第13周项目2-形状类族中的纯虚函数
- MVC razor 中 RenderPartial, RenderAction , Partial , Action 的使用选择
- IOS菜鸟的所感所思(九)——收藏视图的创建并对cell的初始化
- rest api load test
- 正则参考
- 如何改善magento前台图片质量
- Spring 之注解事务 @Transactional
- 正则参考
- pcap调用记录
- 采用dlopen、dlsym、dlclose加载动态链接库【总结】
- C/C++ -- Lib库文件nm调试之符号表
- nexus maven 本地仓库配置
- USB otg 学习笔记