Value Object模式:
高效的对象应该像整型那样运作:如果你把同一个对象资源赋值给两个不同的变量,然后改变其中的一个变量,另一个变量仍然不受影响。事实
上,这就是Value Object模式的目标所在。
【对象和对象指针】
工厂模式:
在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对
象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你
需要的对象之前必须先生成一些辅助功能的对象。 在这些情况, 新对象的建立就是一个 “过程”,不仅是一个操作,像一部大机器中的一个齿轮传动。
【对象构造的封装】
单件模式:
几乎所有面向对象的程序中,总有一两个资源被创建出来,在程序应用中持续被共享使用。例如,这样的一个资源,在一个电子商务程序的数据库连接
中使用:这个连接在应用程序启动时初始化,程序于是可以有效的执行;当程序结束时,这个连接最终被断开并销毁。如果是你写的代码,没必要在每
时每刻创建一个数据库连接,这样非常低效。已经建立好的连接应该能被你的代码简单重复的使用。
【类的唯一实例】
注册模式:
我们通常认为避免使用全局变量是一种好的选择,因此,对象经常被作为参数从一段代码传递到另一段。但是传递实例的一个问题就是对象有时候不知道
将要传递给谁——?经过一个函数后才被传递到真正需要这个对象的函数。为了编写,阅读,修改代码的方便,最好能够减少不同对象的数量,并且能够
将大量广泛使用的对象统一表示为一个单一,常用的对象。
【全局对象索引表】
伪对象模式:
面向对象的编程之所以丰富多彩,部分是由于对象间的相互联系与作用。一个单一的对象就能封装一个复杂的子系统,使那些很复杂的操作能够通过一
些方法的调用而简化。(无所不在的数据库连接就是这样的一个对象实例。)然而经常有这样的情况,对象间的交互性是如此复杂以至于我们不得不面
对类似“先有鸡还是先有蛋”这样伤脑筋的问题:如何创建并测试这样一个对象,他要么依赖于很多已创建的对象,要么依赖于其他一些难以意识到的情况,
如整个数据库的创建和测试。
【模拟对象】
策略模式:
在编写面向对象的代码的时,有些时候你需要一个能够自己根据不同的条件来引入不同的操作对象实例。例如,一个菜单功能能够根据用户的“皮肤”首
选项来决定是否采用水平的还是垂直的排列形式,或者一个计费系统可以自行根据用户的收货地址来决定税率。
【运行时多态】
迭代器模式:
类中的面向对象编程封装应用逻辑。对象,就是实例化的类,每个单独的对象都有一个特定的身份和状态。单独的对象是一种组织代码的有用方法,
但通常你会处理一组对象或者集合。
【对象集合】
观察者模式:
观测模式允许一个对象关注其他对象的状态,并且,观测模式还为被观测者提供了一种观测结构,或者说是一个主体和一个客体。主体,也就是被观测者,
可以用来联系所有的观测它的观测者。客体,也就是观测者,用来接受主体状态的改变 。不论什么时候,当被观测对象的状态变化时,所有注册过的观测
者都会得到通知
【事件】
规范模式:
规范模式是为验证和选择而开发的:确认一个特殊的对象是否满足一定的标准,从集合中选择出满足给定标准的元素。规范模式能让你有效的组织这些
标准,并在你的应用程序中灵活的使用他们。
【断言】
代理模式:
代理模式是给某一个对象提供一个替代者(占位者),使之在client对象和subject对象之间编码更有效率。
【代理层】
装饰器模式:
装饰器模式提供了改变子类的灵活方案。装饰器模式允许你在不引起子类数量爆炸的情况下动态的修饰对象,添加特性。
【类的封装】
适配器模式:
适配器(Adapter)模式为对象提供了一种完全不同的接口。你可以运用适配器(Adapter)来实现一个不同的类的常见接口,同时避免了因升级和拆解客户
代码所引起的纠纷。
【接口的封装】
动态记录模式[for DB]:
动态记录模式对数据库表进行建立,获取,更新(通过扩展实现删除)每一行的操作。
【单个记录的封装】
表数据网关模式[for DB]:
表数据网关模式集中于整表――记录集而不是单个的记录。
【数据表的封装】
数据映射模式[for DB]:
数据映射模式将对象的属性与存储它们的表字段间的结合密度降低。数据映射模式的本质就是一个类,它映射或是翻译类的属性或是方法到数据库的相应
字段,反之亦然。数据映射的作用(工作)就在于能对双方所呈现出的信息的理解,并能对信息的存取进行控制,如根据存储在数据表中的信息重建新的
域对象,或是用域对象的信息来更新或删除数据表中的相关数据。
【应用和表的映射】
MVC 模式:
MVC模式把你的软件组织架构分解成3个清晰的任务:model结合了应用数据,应用流程以及业务逻辑,view从model中提取数据并呈现出来,
controller调用应用流程,接收输入并传送给model和view。
【MVC】
WEB设计模式
最新推荐文章于 2022-05-10 09:17:34 发布