首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

小弟我理解的解耦

2012-10-26 
我理解的解耦1.静态解耦:先解释下我理解的静态耦合,指的是编译期依赖关系已经确定,在运行时环境中,代码间

我理解的解耦
1.静态解耦:
    先解释下我理解的静态耦合,指的是编译期依赖关系已经确定,在运行时环境中,代码间的依赖关系不能改变。例如,我们在开发中经常会说的“把代码写死了”。静态是相对动态的、运行时的、可配置的和插件式的。
    那么在静态环境中,如何解耦?主要是依赖接口。下面举两个小例子简单说明下:
    EX1: 假设一个人不知道接口的意义,那么他写出两个类的依赖关系一般如下:



实现类代码:


配置文件代码:
class=ImplementClass


    你可以简单的修改ImplementClass.java的代码,加上注释掉的语句,编译后,就会发现输出和以前不同了。
    如上所示,代码间的依赖关系,从源代码中移动到了配置文件中,并利用反射技术来动态确定其依赖关系;好处就是依赖集中管理、符合开放封闭原则;
    对配置文件的修改产生的变化,还有一种更优雅的方式,可以启动一个守护线程对其进行定期检查,如变化,可重新加载并实例化,这个以后再续;


     1 楼 kuchaguangjie 2010-01-16   五毛,鉴定完毕 2 楼 wangluo19 2011-07-20   看的稍微有点晕,楼主在定义接口的时候如果不用Interface看起来会舒服些。
很受启发

热点排行