penghuasheng的专栏

华盛的学习小摘

降低耦合。。。

A {

...

new B();.

...

}

A和B产生了耦合,也就是说一人A就有一个B。

现在有一天,需求变了,也就是让C代替B。

惨了,要去修改A上面所有B的原码,如果手头没有B的原码怎么办?

通常来说,要降低耦合会用接口来实现,那么在这里适用吗?试下先,

B implements Interface

C implements Interface

如果,原来开发都用的是Interface = new B();

这好像好一点,其实的确好了一点,但是这只是它的设计好一点,并没有解决我们的需求,为什么呢?

因为,这里面A控制了B对象的出现,也就是控制权在A上。

也许我们可以想下,如果控制权在别的地方,可不可以呢?

我们可以马上想到,setter,结束我们用的接口,可以了

public void setInterface(Interface i){

         this.i = i;

}

现在好了,我们可以在外面对它进行控制了。

当然我们可以用一个XML来做这些操作。

阅读更多
文章标签: interface setter xml c
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

降低耦合。。。

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭