小菜学设计模式——设计模式总结之创建型
1、面向过程与面向对象 1)面向过程通过划分功能模块,通过函数间相互调用来实现,但需求变化时就需要更改函数,而你改动的函数有多少地方在调用她呢?关联多少数据,这是很不容易弄得清楚地地方。或许开发者本人弄得清楚,但是下一个维护人员未必能够吃透。所以,由于这种强耦合性直接导致程序的扩展性和可维护性降低,后期维护的成本自然增高了不少。 2)面向对象关注的是对象,对象的优点在于,可以定义自己负责的事务,做要求它自己做的事情。对象应该自己负责自己,而且应该清楚的定义责任。 3)一般面向对象开发只是关心这么几个问题:“这个东西叫做什么;他从哪里来;她能做什么事情。”,然后,具体的业务逻辑通过这些对象相互之间调用完成;然而,面向过程只是关心一个问题:“你的业务逻辑是什么”;然后,就开始面向过程编程,看似很酷,实质上因为没有合理结构话数据,导致数据的维护量增大。 4)面向过程设计开发相对容易,但不容易应对变化。面向对象设计开发困难,但却能更好应对变化。 2、设计模式归类 设计模式总共23个,但是常用的不到10个,下面就把这23个设计模式进行整理归类,具体如下: 1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2)结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 3)行为型模式,共十一种:策略模式、模板方法模式