2011-05-17 79 views

回答

5

模式是结构性的,如果重点是如何对象之间的关系被组织起来,形成较大的元件,而行为模式都集中在对象的责任分配和它们之间的通信

代理是结构性的,因为它的作用一个替代另一个对象的状态是状态是行为的,因为状态被传递给一个对象以影响其在运行时的行为。

+0

谢谢tom和nilesh – Anjana 2011-05-18 02:25:42

+0

当您准备好时,请不要忘记接受其中一个答案! – 2011-05-18 11:24:03

3

让我们从结构和行为模式的定义开始。

结构模式:结构模式着重于类和对象如何组成以形成更大的结构。继承是结构类模式用来组成实现或接口的机制。结构对象模式说明如何以提供新功能的方式组合对象。

行为模式:行为模式是实现算法的模式,并且涉及在对象之间分配责任。他们还描述了对象和类之间的通信模式。通过使用行为模式,设计师可以将他/她的注意力从控制流程中引导出来,并将他/她的注意力集中在对象相互连接的方式上。行为类模式通过使用面向对象的继承技术在类之间分配行为。另一方面,行为对象模式使用对象组合来执行其功能。

如果您在思考这些问题,那么整个前提是如果它与建模类/对象结构进行结构模式建模,并且如果您正在处理改变的行为,那么行为模式将会帮助您解决。

在Proxy的情况下,您只是包装目标并转发呼叫。在State的情况下,您实际上使用继承(如上面定义中所述),并因此使用多态来更改运行时行为。

希望有所帮助。