zoukankan      html  css  js  c++  java
  • 集中原则——软件设计之道

    为什么要集中?因为软件经常需要修改,而集中便于修改。

    举例来说明:

    1.魔术数字,也就是一些孤立的数字,不能直观看出有什么意义的数字。这种数字可以用常量来代替,任何重复使用到的地方,都可以用这个常量来代替,如果你需要修改这个数值,那么只需要修改常量的定义就可以了,而不需要多处修改。

    2.函数把算法集中在一块了。你可以在每次用到该算法的时候,都直接写代码(或者复制过来),但是如果你用函数去代替,那么当改进算法质量的时候,任何用到该算法的地方,都能同时得到改善。

    3.对象把算法和状态集中在一块了。根据状态机理论,程序的实质就是从一个状态跳转到另外的一个状态,而对象很好的实践了这个理论。如果状态和对象各处一方,修改的时候就要到处找了。

    另外说说设计上的事情。

    硬编码是设计者需要避免的,所谓的硬编码,就是不易于修改的状态。因此集中原则是对付这种状态的其中一个好方法。

    如何才能彻底的解决硬编码问题,第一个是把每一个潜在的修改点独立隔离起来,也就是把功能点集中起来。各个功能点之间不应该相互牵涉,避免牵一发而动全身之虞。第二点,从框架上,高层面上,提供一个良好的扩展界面。

    又可以说,先从低层次上把功能点分离了,再从高层次上把功能点衔接起来形成一个系统。

    可见:

    第一点是功能点的集中。

    第二点是业务的集中。

    这样就能做到修改方便,解决硬编码的问题。这里只是两个层次的抽象,可以设想一个足够复杂的系统,可以抽象到三层以上,但是总的策略是不变的,底层各部分的分离,在高层再融合起来。

  • 相关阅读:
    Reactivecocoa初级使用
    javascript中typeof用法
    javascript进阶修炼之二——DOM,事件及定时器
    javascript进阶修炼之一——javascript必备操做
    HttpClient通信
    JSON和JSONP简单总结
    cordova学习-基础篇
    浅析Java虚拟机结构与机制
    HTML5移动Web开发指南-学习笔记(一)
    spring beans 源码解读
  • 原文地址:https://www.cnblogs.com/Nobel/p/1913860.html
Copyright © 2011-2022 走看看