我是初学者,最近开始学习设计模式,就在图书馆选了一本教材《深入浅出设计模式(C#/Java版)》 莫勇腾编著 清华大学出版社,作为入门教材。其它教材《Design Patterns elements of reusable Object-Oriented Software》和《Head first Design Patterns》有电子版的。本博客内容是教材的要点,并非详细内容。
Chapter1
1.模式的定义:模式是一种问题的解决思路,它已经适用于一个实践环境,并且可以适用于其它环境。
<3>.有表示模式的名称。
设计模式的种类包括分布式编程模式、用户界面模式、数据模型模式三大类。
待续......
Chapter1
1.模式的定义:模式是一种问题的解决思路,它已经适用于一个实践环境,并且可以适用于其它环境。
模式的特点:
<1>.在特定的场景下有可重用性,对相同类型不同问题的环境,其解决方案都有效。
<2>.可传授性,即问题出现的机会很多,解决问题的方案相同,人们相对可以接受。<3>.有表示模式的名称。
设计模式的种类包括分布式编程模式、用户界面模式、数据模型模式三大类。
2.GOF(Gang Of Four)模式:“Gang Of Four”描述的20多种模式,主要描述设计的实现、类的交互及软件质量。
GRASP(General Responsibility Assignment Software Patterns):通用责任分配软件模式系列(翻译有点绕口)主要描述设计类的原则和如何分配类的功能。
GOF模式是符合GRASP要求的面向对象设计模式。3.GRASP分类:
Information Expert(信息专家)、Creator(创造者)、High Cohesion(高内聚)、Low Coupling(低耦合)、Controller(控制器)、Polymorphism(多态)、Pure Fabrication(纯虚构)、Indirection(间接)、Protected Variations(受保护变化)共9类。
GOF模式根据目的准则分类:
<1>Creational(创建型):与对象创建有关 。
<2>Structural(结构型):处理类或对象的组合。<3>Behavioral(行为型):描述类或对象如何交互及如何分配职责。
GOF模式根据范围准则分类:
<1>类模式:用于处理类和子类之间的关系。
<2>对象模式:用于处理对象之间的关系。待续......