高耦合度的系统是如何设计出来的
来源:互联网 发布:intellij创建java项目 编辑:程序博客网 时间:2024/04/29 22:55
高耦合度的系统是我们经常唾弃的,不错,这是一个反面例子。造成系统的高耦合度的原因有很多,其中一个就是我所遇到的:将系统的流程分析和系统结构的分析混为一谈了。
其实这句话在任何讲系统分析的书中都提到过,那么为什么这个错误容易犯。
以我现在设计的那个系统为例:
在“项目规划”模块中,有一个类UIYsgq(扬水灌区),这是一个继承于Windows.Forms.Control的类,即这个类要响应用户操作。我在最初的设计中,将“扬水灌区”数据处理都放在了UIYsgq中。因为在最初的设计中,“扬水灌区”数据只可能在这里被处理,所以,将它的处理代码放在UIYsgq中是顺理成章的事情。
在系统快做完的时候,客户提出了另外一种操作模式,即要求将“扬水灌区”数据作为一个子集放到另外一个用户响应界面中,这时问题就出来了。由于没有对“扬水灌区”的数据进行封装,就要在那个新的界面中重写处理“扬水灌区”的数据。
其实这个问题在基础面向对象编程的思想中也描述得很清楚,但是为什么还是被我忽略了呢?
究其原因,我直接将“系统流程”分析作为了“系统构架设计”的基础。
“系统流程”是很容易让我们联想到处理它的窗体类,如果以它为基础进行设计,就很容易将数据处理和界面绑定在一起,就会造成这个错误。这让我深深地尝到了以流程为设计向导的痛苦滋味。
这个问题的解在什么地方呢,我不敢高论,只是说说自己的一点看法。
获得系统流程后,要根据它分析出这个系统中的对象(类),确定对象之间的联系(方法,事件,属性),然后再将分析的结果用于系统设计。我在这里说得过于简单,因为我在这方面的研究还不是很深入,但我认为这是一个正确的方向。
系统的分析方法有很多,这里只是提醒你:不要陷入“将系统的流程分析和系统结构的分析混为一谈”的陷阱。
- 高耦合度的系统是如何设计出来的
- Windows系统的耦合度太高了
- 一个著名的日志系统是怎么设计出来的?
- 程序是设计出来的
- 文明是设计出来的
- 一个游戏是如何被设计和开发出来的
- 如何设计高并发的系统
- 如何设计高并发的系统
- 日消息量突破50亿,小米是如何设计高可用推送系统的?
- 日消息量突破50亿,小米是如何设计高可用推送系统的?
- 网络的可靠性是设计出来的
- 《人脉是设计出来的》 读书笔记
- 计算机语言是怎样设计出来的
- 不良代码展示-高耦合度代码的例子
- 电脑图书是如何生产出来的
- GDP是如何统计出来的
- 类是如何定义出来的
- 颜色是如何混合出来的
- SqlFunction SqlUpdate SqlQuery
- SQLServer和Oracle的常用函数对比
- 经常用到的javaScript技术代码(经典)
- JavaScript的方法和技巧(二)
- JAVA相关基础知识
- 高耦合度的系统是如何设计出来的
- 堆栈溢出 的现象,
- 在网站内加入RSS功能
- C#转VB
- 七招制胜ASP.NET应用程序开发
- vs2005下编译c语言程序
- js技巧收集(200多个)
- 同样指令bmp.LockBits不同平台(Windows/WinCE)获取位图的数据不同
- 在虚拟主机上用asp.net轻松实现urlrewrite