以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 软件工程论坛 』   (http://bbs.xml.org.cn/list.asp?boardid=48)
----  模块化设计五大标淮,每条都没写全,大家补充阿  (http://bbs.xml.org.cn/dispbbs.asp?boardid=48&rootid=&id=26152)


--  作者:pennyliang
--  发布时间:1/5/2006 2:20:00 PM

--  模块化设计五大标淮,每条都没写全,大家补充阿
模块化设计五大标淮

模块可分解(Decomposability)

1)降低问题复杂性2)劳动力可分配

模块可组合(composability)

1)易于按照上下文需要进行组合

2)和可重用紧密联系

模块可理解(Understandability)

1)可以自理解,或仅依赖最少的类即可理解

模块连续性(Continuity)

1)任意一种改动所造成的影响只在一个或有限个模块内

模块的保护性(Protection)

1)一个模块发生的异常仅在内部或有限个邻接

模块上产生影响


--  作者:jiachong
--  发布时间:1/5/2006 6:25:00 PM

--  
我来瞎凑一个

模块可组合(composability)
1)易于按照上下文需要进行组合
2)和可重用紧密联系
3)组合通过明确定义了交互契约的接口显式地进行,消除隐式的相互作用


--  作者:pennyliang
--  发布时间:1/8/2006 6:00:00 PM

--  
结构化的感觉和Divide-and-Conquer差不多,必须满足可combine如果,至少是不太复杂的combine

可重用是分解的一个依据,合理的分解往往就是可重用的

组合的边界是彼此相互作用的边界,必须显示的接口,防止穿越共生性边界的发生。


--  作者:jiachong
--  发布时间:1/9/2006 1:01:00 PM

--  
穿越共生性边界 好像不明白
--  作者:pennyliang
--  发布时间:1/9/2006 2:59:00 PM

--  
看page-johns的一本书,UML什么的,很不错,建议你用一天时间翻翻,会有启发的。
--  作者:wcdxyl
--  发布时间:3/27/2006 1:34:00 PM

--  
模块可独立 应该是必须的吧
--  作者:pennyliang
--  发布时间:3/28/2006 9:18:00 AM

--  
模块的独立变化,是软件设计的一个需求,但是共生性问题是不能完全,彻底解决的,只有确实需要独立变化时,才去引入机制去解决它,比如设计模式中的bridge模式,就是典型的例子,类,与实现独立变化的,一个类,(或者说一个被u使用的上下文关系)有多个实现,举两个例子,比如一个socket连接,有长连接和短连接两种实现方法,而客户使用连接的时候,使用了例如Connection这样的类,但是ConnectionImp可以reference到长连接的实现也可以能reference到短连接的实现,这都是运行行时指定的。再如单元测试的时候,我们可能有个与数据库同步的类,但是每次单元测试都需要依赖于数据库的数据正确和完整,那么就可以使用bridge模式来做。一个实现是访问数据库的,一个实现是模拟数据库的。
--  作者:wcdxyl
--  发布时间:3/30/2006 11:52:00 AM

--  
模块不可能完全独立,只是设计应该高内聚低藕合,这是重点。
--  作者:jiachong
--  发布时间:3/30/2006 12:56:00 PM

--  
所以独立性不是绝对的,重要的还是我前面提到过的明确、清晰的交互边界,即通过明确定义了交互契约的接口或其它标准的方式显式地表示与环境的交互关系

这样才能实现如pennyliang所说的用bridge模式模拟数据库和真实数据库,实现测试单元对外交互的统一


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
234.375ms