耦合还是解耦合?

我们的许多设计思想中很多地方都体现了解耦合的思想,这是[b]应对易于变化[/b]的一种很好的解决手段,而在这些手段中最重要的解决方法就是[b]添加中间层[/b],所谓添加中间层 比如我们常见的面向接口编程,其实就是添加了一个中间的层次,屏蔽掉了一些变化,还有就是我们常用的设计模式,什么代理啊,faceda等等,都是采用了这样的一种思想。

但是在设计过程中我们要不要对全部的东西都进行解耦呢?

我觉得这需要分情况来看:

如果你需要编写框架之类的应用,那么这个时候进行解耦是有必要的,原因有两个:

1、技术方面的:框架需要进行不断的更新,可能在很多时候原来设计的一些接口或者类就需要进行名称的改变,虽然这样不好,接口按道理来说是一般不应该发生变化了,但是谁一开始也不可能把接口设计的那么完美,改变一下也是可以原谅的。

2、推广方面的:现在的框架非常多,竞争也非常激烈,当然要迎合程序员和老板的口味了,毕竟人们都喜欢比较灵活的东西,呵呵

我认为Spring就是一个非常聪明的框架,他不去要求程序员必须去做什么,而是提供多种选择,将实现方式的选择权交给程序员去做决定,其实这也就无形中把别人对其的议论给化解了,不会被人说成是强迫别人如何做的霸道框架,这一点是做的非常聪明的,再加上对现有其他流行框架的整合,所以能够披荆斩棘,迅速红遍大江南北!

而说回来,框架为我们提供的这些方式能起到多大的作用呢?

能够为我们以后的修改带来多大的便利(如果我们使用别的框架了)?

我没有看到太多的便利之处,如果抛弃了这些框架,我们还是需要对许多的部分进行更改,工作量的减少程度并不明显。

现在ROR的流行也证明了这一点,有时候在框架方面太灵活也不见得太好,CoC有时候就不错。

所以说在设计的时候把握一个度是很难的事情,很多时候我们都陷入了过度设计的怪圈,时间花的不少,成效不大:(

很多地方说的不一定正确,请大家批评~~
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值