软件秘笈-设计模式那点事_第1章 设计模式概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.4 设计模式概述
1.4.1 什么是设计模式 设计模式的概念最早是由一名建筑师提出来的,他试图在图纸上用一 种结构化、可重用化的方法,获得建筑的基本要素,从而可以将更多的精 力放在具体建筑物和城镇的设计上。逐渐的,这种思想在软件领域流行起 来,并获得发展。
1.4.2 为什么需要设计模式
首先,它可以提升个人的编程能力、思维能力和设计能力,极大提高
在面向对象的软件设计中,对于类的扩展,首先想到的是使用类的继 承来实现,由子类继承父类,从而完成对子类功能的扩展。继承的好处
是可以尽量让相同的属性或者功能复用,但是随着项目越来越大,需求
的不断变化,继承就会变得越来越臃肿,后期难以控制和维护。最重要 的是,继承会不分青红皂白地把父类的公有和受保护的方法统统继承下
软件秘籍:设计模式那点事儿 第1章 设计模式概述
第1章 设计模式概述
1.1 计算机软件的发展现状 1.2 引入设计模式的必要性 1.3 软件设计遵循的基本原则 1.4 设计模式概述 1.5 设计模式的分类
1.1 计算机软件的发展现状
21世纪是网络信息技术日益发展的世纪,计算机技术的 应用已经是未来发展的必然趋势。自从1971年微处理器问世 以来,计算机经历了4位机、8位机和16位机的时代,20世 纪90年代初出现了32位结构的微处理器计算系统,并将进 入64位计算时代。
1.3.2 面向抽象编程
在面向过程的软件开发中,上层组件调用下层组件,就意味着上层组 件依赖于下层组件,当下层组件发生剧烈变化时,上层组件也要跟着一起
发生变动,这将导致软件组件模块的复用性大大降低,从而增加软件开发
成本,使软件结构设计上存在一定的臃肿性,不利于后期系统维护工作。
1.3.3 多用组合少用继承
式当中掌握软件设计原则。设计模式是前人的实践经验总结出来的,具
有固定的实现方式,但是设计原则是活的,是需要我们认真体会和领悟 的。
1.5 设计模式的分类
1.5.1 创建型模式
创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:
工厂方法模式(Factory Method Pattern) 抽象工厂模式(Abstract Factory Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 单例模式(Singleton Pattern)
1.2 引入设计模式的必要性
引入软件设计模式将成为企业或者个人可持续发展的必然 选择。只有专业,才能在这个领域做得最好,为社会、企业 和个人带来更多的价值。
1.3 软件设计遵循的基本原则
1.3.1 高内聚、低耦合 一个软件系统要有一个稳定的架构,不会随需求的改变而发生巨大的 变动。因此,高内聚、低耦合是一个软件系统设计中必须遵循的基本原则。
享元模式(Flyweight Pattern)
代理模式(Proxy Pattern)
1.5.3 行为型模式
行为型模式用来对类或对象怎样交互和怎样分配职责进行描述,主要包含以 下11种设计模式: 责任链模式(Chain of Responsibility Pattern) 命令模式(Command Pattern) 解释器模式(Interpreter Pattern) 迭代器模式(Iterator Pattern) 中介者模式(Mediator Pattern) 备忘录模式(Memento Pattern) 观察者模式(Observer Pattern) 状态模式(State Pattern) 策略模式(Strategy Pattern) 模板方法模式(Template Method Pattern) 访问者模式(Visitor Pattern)
来,而这些方法可能是子类不需要的功能,会对子类产生一些危害。
1.3.4 “开-闭”原则
“开-闭”原则,即“对扩展开放,对修改关闭”,指的是在软件设 计中,当对某一软件实体进行扩展时,尽量不要去修改原有的软件实体, 换句话说就是在不修改原有软件实体的情况下对其进行扩展。这种软件 设计方式其实是一种目标,它考虑了软件后期的维护等其他因素。一个 软件系统如果可以达到这个目标,那它就是可扩展、易维护的。
Hale Waihona Puke Baidu
工作效率,让个人获得更大发展空间;
其次,对于企业,应用设计模式可使软件产品质量得到保证,系统稳 定性大大提升,为企业创造出更多的利润上升空间;
最后,个人和企业都在不断地发展壮大,自然会创造出更多的社会价
值,为社会作出更多的贡献。
1.4.3 如何正确应用设计模式
实践是需要理论知识积累的。要想正确应用各种设计模式,首先需 要学习设计模式,掌握设计模式的实现要点,最重要的是在学习设计模
1.5.2 结构型模式
结构型模式用来处理类或者对象的组合,主要包含以下7种设计模式: 适配器模式(Adapter Pattern) 桥接模式(Bridge Pattern) 组合模式(Composite Pattern) 装饰者模式(Decorator Pattern) 外观模式(Facade Pattern)