码迷,mamicode.com
首页 > 其他好文 > 详细

架构设计中常见的语义耦合类型的总结

时间:2014-10-22 21:41:43      阅读:459      评论:0      收藏:0      [点我收藏+]

标签:ar   使用   sp   数据   代码   bs   设计   对象   nbsp   

语义耦合是隐性的,不易察觉的耦合类型 ,是导致代码重构、调试、修改复杂度急剧增加的主要原因。

 

1,操作顺序耦合

使用一个对象,需要先调用Init(),之后才能调用DoAnything()。这种顺序耦合,即使在文档中remark也是极为不优雅的做法。

 

2,全局参数传递

模块A修改了某个全局参数g_val,模块B读取该值。模块B必须知道模块A已经对该参数赋值。

 

3,业务封装不够紧密

模块A向模块B传一个参数,模块B根据该参数选择对应的操作。模块A必须知道与业务相关的所有的操作类型。对于模块A,仅传递模块A自身可以理解的语义,或者通俗的概念作为参数,而不是被封装的业务相关的参数。

 

4,超越接口的数据类型约定

模块A向模块B传递一个接口的指针,模块B将其强制转换为派生类的指针。当模块B知道该接口的实际类型时,封装已经被破坏了。非相关模块只能对接口操作,而不应对接口之外的职责进行约定。

 

先写这么多,欢迎补充。

架构设计中常见的语义耦合类型的总结

标签:ar   使用   sp   数据   代码   bs   设计   对象   nbsp   

原文地址:http://www.cnblogs.com/radiolover/p/4044136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!