发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

设计模式的三段论

    
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的关系良好.
简单的说,我们可以通过第三者间接的搞好原本就不好的关系.因此,若原本两者的关系就比较好,那么就没有必要"让第三着插足"了.

日常道理:若双方关系良好,那么第三者插足就是一种多余;若双方关系不太好,则应借助第三方的力量搞好彼此的关系.

2006-07-06 15:52

正解:模式是一门关系学。

一般程序员不太擅长搞人际关系学,是不是也不太擅长搞类的关系学?所以,感觉模式难学?

2006-07-07 21:57

如果存在两个类A,B他们本身并不存在关系,那么想他们发生关系,而又不污染A与B,就得要用第三者(C)来插足了,模式关注的问题域是对象与对象的关系,类关注的是对象的本身的功能。

设计模式     

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com