|
这个主题共有 2 回复 / 1 页 [
]
|
|
|
|
|
|
设计模式的三段论
|
发表: 2006年07月05日 19:40
|
回复
|
|
人都有一死;axgle是人,所以axgle也会死亡. 这里的axgle是一个具体的人,这个人与死亡有必然的联系.我们不直接说axgle会死亡,而是"抽象"的说"人都有一死",然后把axgle和人联系起来,就得出了axgle也会死亡的结论. 为什么不直接说"axgle会死"而要通过"人都有一死"来推论呢?因为除了axgle,世界上还有许多其他人,这些人都会死亡.假如有一天生物科学研究出了"不死之药",并且人人都能够得到,简单的说,"人人都不会死亡",那么我们只需要在广播中说"人人都不会死亡"而无须念出每个人的名字并且没有必要去纠正每个人原来的结论(例如A不会死,b不会死,c不会死...等等).这就是"抽象"带来的好处.其中"人都有一死"就是抽象的说法,"人"就是对axgle以及其他所有人的一种"抽象表达".
一般的,三段论的逻辑结构如下: M是P; S是M. ----------- 所以,S是P
设计模式的三段论结构分析: 表述一:假设类S与类P是紧密关联的,为了将S与P的耦合度降低,引入更加“抽象”的类M作为“中介”。 表述二:不让类S直接调用类P,而是添加一个“代理类”M来协调S与P的关系。 表述三:S是M的产品之一,所有M创建的产品都有功能P,所以S也有功能P. 。。。。。。 表述N:S继承了M,所以S有P的属性或者方法
设计模式的三段论法,就是在两者之间增加第三者,以达到松散耦合的设计目的。这里的第三者,可以是"桥梁",可以是"代理",可以是"工厂",也可以是某个"抽象接口"等等.
一般的,若S与P的"关系不好",那么就应该寻找或者筹建"中介M",使得S与M的关系良好,并且M与P的关系良好. 简单的说,我们可以通过第三者间接的搞好原本就不好的关系.因此,若原本两者的关系就比较好,那么就没有必要"让第三着插足"了.
日常道理:若双方关系良好,那么第三者插足就是一种多余;若双方关系不太好,则应借助第三方的力量搞好彼此的关系.
|
|
|
|
|
|
Re: 设计模式的三段论
|
发表: 2006年07月06日 15:52
|
回复
|
|
正解:模式是一门关系学。
一般程序员不太擅长搞人际关系学,是不是也不太擅长搞类的关系学?所以,感觉模式难学?
|
|
|
|
|
|
Re: 设计模式的三段论
|
发表: 2006年07月07日 21:57
|
回复
|
|
如果存在两个类A,B他们本身并不存在关系,那么想他们发生关系,而又不污染A与B,就得要用第三者(C)来插足了,模式关注的问题域是对象与对象的关系,类关注的是对象的本身的功能。
|
|
|
|