设计模式与哲学
Posted zzfx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式与哲学相关的知识,希望对你有一定的参考价值。
http://www.cnblogs.com/feng9exe/p/6782945.html
首先要提到的是,不论是过程论还是对象论,都承认一点,那就是程序世界本质上只有两种东西——数据和逻辑。数据天性喜静,构成了程序世界的本体和状态;逻辑天性好动,作用于数据,推动程序世界的演进和发展。尽管上述观点是统一的,但是在数据和逻辑的存在形式和演进形式上,过程论和对象论的观点截然不同。
大家都知道遵循设计原则是开发高质量软件的重要基础,但实际运用时并不容易。Booch在<<面向对象分析与设计>>中提出了四个基础原则:
- 抽象 核心思想是不变性的概念。去除不关心的属性,而强化重要的属性,帮助人们思考要做什么。
- 封装 核心是分离关注和信息隐藏,让程序借助最少的工作进行可靠的修改。
- 模块化 核心思想是分而治之,各个模块应当高内聚、低耦合。
- 层次结构 核心是对抽象的分级和排序,可以简化对系统的理解。
软件的组织、结构与变化。
创建型:对象生成、数据(状态)配置、内部组织;(面向对象基本单元:类);简单类、复杂类(对象)的生成方式。
结构型:二次组织;生成组织结构。
创建性与结构型设计模式,描述了系统的静态结构和基本功能。
行为型:软件的复杂功能,封装了软件的变化。用于构造稳定的抽象层。
软件设计模式的分类
2.1. 创建型
创建对象时,不再由我们直接实例化对象;而是根据特定场景,由程序来确定创建对象的方式,从而保证更大的性能、更好的架构优势。创建型模式主要有简单工厂模式(并不是23种设计模式之一)、工厂方法、抽象工厂模式、单例模式、生成器模式和原型模式。
2.2. 结构型
用于帮助将多个对象组织成更大的结构。结构型模式主要有适配器模式adapter、桥接模式bridge、组合器模式component、装饰器模式decorator、门面模式、亨元模式flyweight和代理模式proxy。
2.3. 行为型
用于帮助系统间各对象的通信,以及如何控制复杂系统中流程。行为型模式主要有命令模式command、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式state、策略模式、模板模式和访问者模式。
UML:关联、聚合、组合;
结构性模式定义的耦合关系为组合或聚合;
行为模式为关联;更多时候为函数内和接口的参量的引用。
以上是关于设计模式与哲学的主要内容,如果未能解决你的问题,请参考以下文章