一、如前所述,为什么要解除偶联?好的架构是要花费最少的人力成本来构建和维护软件。
在编写代码方面,有两个重点。
维护时,减少每次修改尽可能少的代码。维护时,在每次修改或者添加功能,工程师要少做决策。上改变代码和做出决策,采取相应的两种解决方法。
复用如果之前写的东西总是可以复用的话,维护时写的代码就会变少。 因为每次解耦合变更,工程师考虑的都是小范围内的。 工程师很少思考,不用做那么多决策。 而且,如果不符合正交性,到处都要改变的话,我们就需要思考这个,花更多的时间去思考那个。 最后一天,加班也不会结束。 二、编写代码时大方向为程序各组件划分边界、模块化、解耦。
尽可能将所有要变化的代码和不怎么需要变得代码分离开。
图:
1 )实现M1和M2协同的功能,应该考虑如何将业务流程变化较多的代码赶到尽可能小的代码。
2 ) M1和M2之间的相互作用点应该只有一个。
1 .使用发送消息的方法。
2 .对于调用关系,可以将调用另一个模块的内容放在一个位置。
我认为,对可维护性而言,重构的时候,如果大方向上,是在缩小要修改的代码范围的,就是没有错的。
请不要发散容易修改的内容。
尽可能使用数据表来表达意思。
《unix编程艺术》 就说过,数据压倒一切。
使用数据表或者指针树。
你给我看了文字,我觉得很困惑。 请给我看看流程图。 我觉得很迷茫。 请给我看看数据表。 秒就知道了。
3359 blog.csdn.net/ren yongjian 1994/article/details/117198867这里的案例是使用数据的一种。
面向对象这一说法,也称为多态性。
使用小函数。
那些相对单一的小函数,才是生命周期最长的。
而且很容易再利用呢。 没有涉及太多的过程。
开发工具库。
得到几个通用的,为了提高效率的工具库。复用性提升。节省人力成本。
例如字符串、网络操作。
比如libevent这样的核反应堆模型。
三.参考文献《unix编程艺术》
《重构:改善既有代码的艺术》
《大话设计模式》