1、设计模式
整本设计模式以小菜最后的梦醒时分结尾,对小菜和大鸟诙谐的调侃中学习设计模式还有些恋恋不舍,但是就像小菜学习完所有的设计模式应该也不是当初的小菜了吧!记得大鸟给小菜上的第一节课是通过面向对象的分析设计编程思想,通过封装、继承、多态把程序的耦合度降低,引入使用设计模式使得程序更加的灵活,容易维护和扩展,易于复用。
2、设计原则
为什么要提倡使用设计模式呢?根本原因是为了代码复用,增加可维护性。面向对象的六大原则就是实现代码复用的前提。
开放-封闭原则是面向对象设计的核心所在。其它几个原则可以看成是开放-封闭原则的实现方法。
3、基本模式
设计模式分为三种类型,共23种。
♦ 创建型模式:单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。
♦ 结构性模式:适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、代理模式。
♦ 行为型模式:观察者模式、模板方法模式、命令模式、状态模式、职责链模式、解释器模式、中介者模式、访问者模式、策略模式、备忘录模式、迭代器模式。
4、模式的几个要素
1. 模式名称(pattern name)
定义一个设计模式的名称。
2. 问题(problem)
描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果,它可能描述了特定的设计问题,如怎样用对象表示算法等。也可能描述了导致不灵活设计的类或对象结构。有时候,问题部分会包括使用模式必须满足的一系列先决条件。
3. 解决方案(solution)
描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式。因为模式就像一个模板,可应用于多种不同场合,所以解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决这个问题。
4.效果(consequences)
描述了模式应用的效果及使用模式应权衡的问题。模式效果包括它对系统的灵活性、扩充性或可移植性的影响,显式地列出这些效果对理解和评价这些模式很有帮助。
5、设计模式应用
虽说面向对象的思想使用设计模式可以使程序达到可复用、可扩展、易维护和灵活性好,但是也可能因为无用而对应用程序造成所害。所以在设计程序时,应当鼓励使用,但是对其的采用还是应当受到审阅和验证的。设计模式可以包含在设计和开发过程中。
6、没有结束的结尾
记得大鸟对小菜说过一句话“一个程序员如果从来没有熬夜写程序的精力,不能算是一个好程序员,因为他没有痴迷过,所以他不会有大成就”,而我们要成为的不光只是会写程序的程序员,而应该对自己有更高的要求。生活还在继续,编程也不会结束……让我们的程序越来越好吧!