|
|
发表于 2008-4-11 16:17:00
|
显示全部楼层
Re:简单实现设计模式
首先我绝对不是对上述设计模式有任何不好的意见。
那些书中所说的思想,固然是十分优秀的东西!
我只是去追求,更好,更轻松的东西。有两个问题:
< A > 我的意思是,在一种十分宽松的伪代码下面,会有什么“设计模式”呢?
在这种情况下面,上述很多“设计模式”就不存在了,因为没有涉及到具体的程序语言。
下面举例说明,在宽松的伪代码下面, 一些 不存在的“设计模式”:
(1) 接口,虚函数。
在伪代码下,你可以随性调用想要调用的同名方法,而不需要声明为“virtual”。
这就有点像,IDispatch。是不是呢? 实际上VB6,VBS都可以这样用,更不用说伪代码了吧。
(2) iterator 迭代器
(在list只有一种实现的情况下)
如果用C++等面向对象语言封装了list,那么list的遍历就比较消耗时间了。这是面向对象的坏处。
为了修正这个问题,只好引入iterator。而如果用面向过程,根本不需要iterator。更不用说伪代码了。
(在list有若干种实现的情况下)
问题归结为上面的(1),实际上伪代码不需要写出具体的实现,只要表达意思即可。
(3)Adapter 适配器
因为是伪代码,所以 可能 不需要,如果接口“相似”,那就直接调用吧。
(4)继承和包含
在伪代码下,他们没有什么区别,这主要看你喜欢什么样的伪代码了。
< B > 使用“设计模式”过程中,我的担忧:
设计模式的贯彻,是否“严格”?是否“统一”?
不能说,“这几个系统用这几种模式”“那几种系统用那几种模式”
比如说,
某几个 大 系统,用函数调用;另几个 大 系统,用消息队列。中途也会有所更改。
这是不对的,因为函数调用,消息队列,在本质上 完全 不同的。
一些程序员,(包括去年之前的我)都意识不到这一点,认为
这两种模式,也就是具体的编码细节而以。
具体可以参考我其他的相关帖子。
|
|