当前位置:
文档之家› 软件秘笈-设计模式那点事_第1章 设计模式概述
软件秘笈-设计模式那点事_第1章 设计模式概述
工作效率,让个人获得更大发展空间;
其次,对于企业,应用设计模式可使软件产品质量得到保证,系统稳 定性大大提升,为企业创造出更多的利润上升空间;
最后,个人和企业都在不断地发展壮大,自然会创造出更多的社会价
值,为社会作出更多的贡献。
1.4.3 如何正确应用设计模式
实践是需要理论知识积累的。要想正确应用各种设计模式,首先需 要学习设计模式,掌握设计模式的实现要点,最重要的是在学习设计模
1.3.2 面向抽象编程
在面向过程的软件开发中,上层组件调用下层组件,就意味着上层组 件依赖于下层组件,当下层组件发生剧烈变化时,上层组件也要跟着一起
发生变动,这将导致软件组件模块的复用性大大降低,从而增加软件开发
成本,使软件结构设计上存在一定的臃肿性,不利于后期系统维护工作。
1.3.3 多用组合少用继承
1.2 引入设计模式的必要性
引入软件设计模式将成为企业或者个人可持续发展的必然 选择。只有专业,才能在这个领域做得最好,为社会、企业 和个人带来更多的价值。
1.3 软件设计遵循的基本原则
1.3.1 高内聚、低耦合 一个软件系统要有一个稳定的架构,不会随需求的改变而发生巨大的 变动。因此,高内聚、低耦合是一个软件系统设计中必须遵循的基本原则。
来,而这些方法可能是子类不需要的功能,会对子类产生一些危害。
1.3.4 “开-闭”原则
“开-闭”原则,即“对扩展开放,对修改关闭”,指的是在软件设 计中,当对某一软件实体进行扩展时,尽量不要去修改原有的软件实体, 换句话说就是在不修改原有软件实体的情况下对其进行扩展。这种软件 设计方式其实是一种目标,它考虑了软件后期的维护等其他因素。一个 软件系统如果可以达到这个目标,那它就是可扩展、易维护的。
享元模式(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章 设计模式概述
第1章 设计模式概述
1.1 计算机软件的发展现状 1.2 引入设计模式的必要性 1.3 软件设计遵循的基本原则 1.4 设计模式概述 1.5 设计模式的分类
1.1 计算机软件的发展现状
21世纪是网络信息技术日益发展的世纪,计算机技术的 应用已经是未来发展的必然趋势。自从1971年微处理器问世 以来,计算机经历了4位机、8位机和16位机的时代,20世 纪90年代初出现了32位结构的微处理器计算系统,并将进 入64位计算时代。
1.5.2 结构型模式
结构型模式用来处理类或者对象的组合,主要包含以下7种设计模式: 适配器模式(Adapter Pattern) 桥接模式(Bridge Pattern) 组合模式(Composite Pattern) 装饰者模式(Decorator Pattern) 外观模式(Facade Pattern)
在面向对象的软件设计中,对于类的扩展,首先想到的是使用类的继 承来实现,由子类继承父类,从而完成对子类功能的扩展。继承的好处
是可以尽量让相同的属性或者功能复用,但是随着项目越来越大,需求
的不断变化,继承就会变得越来越臃肿,后期难以控制和维护。最重要 的是,继承会不分青红皂白地把父类的公有和受保护的方法统统继承下
式当中掌握软件设计原则。设计模式是前人的实践经验总结出来的,具
有固定的实现方式,但是设计原则是活的,是需要我们认真体会和领悟 的。
1.5 设计模式的分类
1.5.1 创建型模式
创建型模式用来处理对象的创建过程,主要包含以下5种设计模式:
工厂方法模式(Factory Method Pattern) 抽象工厂模式(Abstract Factory Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern) 单例模式(Singleton Pattern)
1.4 设计模式概述
1.4.1 什么是设计模式 设计模式的概念最早是由一名建筑师提出来的,他试图在图纸上用一 种结构化、可重用化的方法,获得建筑的基本要素,从而可以将更多的精 力放在具体建筑物和城镇的设计上。逐渐的,这种思想在软件领域流行起 来,并获得发展。
1.4.2 为什么需要设计模式
首先,它可以提升个人的编程能力、思维能力和设计能力,极大提高