论坛首页 入门技术论坛

关于命令模式和适配器模式的一些想法

浏览 1621 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-11-16  
新人,考虑问题难免不周。

从定义上看(参考《headfist 设计模式》)

命令模式:“将请求封装成一个对象”。
适配器模式:“将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间”。

现在假设甲乙公司的两位程序员A和B.
A身为甲公司的业务架构师,负责实现系统上层设计。
B身为乙公司的普通程序员,具体基本类和数据库方法调用实现。

现AB程序员合作, A负责一段业务逻辑SessionBean,而B负责编写一个DAO具体与JDBC数据库的交互。

因为AB二人是各自公司独立进行工作的:对A而言,他并不考虑另一家公司的B的DAO会如何实现。而是主要针对接口去编程,那么我认为对他而言,他的代码里主要体现了“命令模式”的思想。
同时B程序员构建基本DAO时,不可能清楚自己的DAO为了业务需要将来会实现哪些公司的业务接口。只有当双方各自工作结束进行交流时,A得到了B提供的DAO基本类。这时候为了让B的DAO符合自己的业务接口,必须新建一个类以该DAO为构造参数并实现原先A自己定义的接口。这里则体现了“适配器模式”。

个人总结:设计模式的最终目的就是解耦,减小类与类之间的依赖性。通常面对很一个很小的应用,往往包含了两三个以上的设计模式,因此我们很难通过代码的用法去判断,而更应该通过这段代码的目的去理解它所包含的设计模式思路。

以上是当我学习《head first设计模式》中第六章/第七章,发觉这两章节的两个举例在java语法上相当之类似而得出的判断,若有不当之处还望各位赐教:)

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics