讨论软件工程中设计模式的分层设计可行性

思维特无敌 发布于 2014/09/07 22:41
阅读 275
收藏 3

    读了《元素模式》的前四章,感觉有点坑爹。原以为是一本讲分解组合设计模式原理的书,实际讲了一种Pin箱法,实际更象是一种代替UML类图的方法。这种方法的目标在于以更精炼的方式表达UML类图。书中提到为一个不复杂的业务模式却需要一个相当复杂的UML类模式。

    恐怕这是实际做项目时经常遇到,而这个复杂的UML也就可能导到可复用设计模型的混乱,如果不用可复杂设计模式则导致项目僵化,而用了它则导致的项目的“神话”,所谓“神话”是引用了书中“部落神话”的讲法。指项目进行中人事变动及文档缺失导致后来的开发人员不知道以前的开发人员所从事的内容,即项目无法平滑延续。因此提出一个Pin 箱概念及其设计模式。

    但我感觉这个Pin箱模式有些换汤不换药,无法解决海量UML类问题,且使UML直观的类变成更抽象Pin箱的模式,恐怕会更难以理解。Pin箱的嵌套到是给人一定的启示。这实际上是一种分层方法,但是不是一种合理、高效的方法则需要更多成功案例支持。

    从另一个角度出发,Pin箱是一种方法,以原始UML类图划分层次是一种更灵活,更原始的方式。层次是按软件工程的需求模型设计,不是按业务模型需求设计。这样划分的恐怕能更明显的识别可重构的元素,或者是以运筹学为基础,计算每个层次上最优化的重构。这也符合自顶向下的软件工程思想。

    如何分层?希望能集大家的智慧讨论一下。我能最先想到的是按设计模型定义分,即把实现设计模式的类与接口分为一层,把模式实现的内容为一层,把模式实现的内容与数据分为一层。

加载中
0
中山野鬼
中山野鬼
哈,拜你所赐,花了半个小时,看了前面两个章节,还没看完,到物理页40页。我承认,这种“知识”不是我这种做模块化编程的人该看的。既然我不懂面向对象语言,我就不多说什么了。只是说句空话,如果一套概念好,这套概念要能有效的指导实际工作,否则就是在玩概念替换,拿其他一些概念体系的内容,作个投影映射而已。这是礼貌的说,不礼貌的说,就是文字游戏而已。。。哈。
0
lxbzmy
lxbzmy
私以为海量uml已经是个错误了。
0
朱宏青
朱宏青

如果是代码级别 请让同等水平的人接手

如果是业务逻辑 请看需求分析、功能设计等功能文档

其余的几乎都是在绕远路

直面问题才是核心

返回顶部
顶部