美文网首页
Android程序设计之设计模式开篇

Android程序设计之设计模式开篇

作者: MarcusKu | 来源:发表于2018-04-19 00:29 被阅读0次

    一、高内聚低耦合

    1、耦合:耦合是指程序设计各模块之间的依赖关系,包括控制关系、调用关系、数据传递关系,依赖越紧密,耦合就越大,如果功能发生变化,要修改的模块就不仅仅是当前模块,还可能牵扯到耦合的模块,这样维护成本就很高,所以我们在设计代码的时候应当遵循低耦合的原则。影响耦合的因素也就是:

    (1)  一个模块对另一模块的调用
    
    (2)  一个模块向另一个模块传递的数据的多少
    
    (3)  一个模块对另一个模块的控制的多少
    
    (4)   模块之间接口的复杂程度
    

    2、耦合从低到高可以分为一下几种类型:

    (1)非直接耦合:两模块之间没有直接关系,其模块间的依赖完全是有主模块的控制和调用来实现。

    (2)数据耦合:一个模块访问另一个模块,彼此之间通过简单的数据参数来交换输入、输出信息,这里的简单参数不同控制参数、公共数据结构或外部变量。

    (3)标记耦合:如果一组模块通过参数表来传递记录信息,就是标记耦合,这一记录是某一记录的子结构,不是简单数据。

    (4)控制耦合:一个模块通过传递快关、标志、名字等控制信息,明显的控制选择另一模块的功能。

    (5)外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数传递该全局变量信息

    (6)公共耦合:一组模块都访问同一公共数据环境,该数据环境可以是全局的数据结构、共享的通信区、内存的公共覆盖区等。

    (7)内容耦合:一个模块直接修改另一模块的数据,或直接传入另一模块。

    内聚:内聚是模块的内部各元素之间联系的紧密程度

    1、内聚度从低到高分为7种:

    (1)偶然内聚

    (2)逻辑内聚

    (3)瞬时内聚

    (4)过程内聚

    (5)通信内聚

    (6)顺序内聚

    (7)功能内聚

    二、设计模式六大原则:

    1、单一职责原则(SRP):

    定义:就一个类而言,应该仅有一个引起它变化的原因。

    2、开闭原则(OCP):

    定义:软件中的对象(类、模块、函数等)应该对于扩展是开放的,对于修改是封闭的。

    3、里氏替换原则(LSP):

    定义:所有引用基类的地方必须能透明使用其子类的对象。

    4、依赖倒置原则:

    定义:抽象不应该依赖细节,细节应该依赖抽象。

    5、接口隔离原则(ISP):

    定义:客户端不应该依赖它不需要的接口(类之间的依赖关系应该建立在最小接口上,接口隔离原则将非常庞大臃肿的接口拆分为更小的和更具体的接口)

    6、迪米特原则(LOD):

    定义:也称最少知识原则,一个对象应该对其他对象有最少的了解

    三、设计模式总体归为三大类:

    1、创建型模式(5种):单例模式、建造者模式、工厂模式、抽象工厂模式、原型模式;

    2、结构型模式(7种):适配器模式、桥接模式、装饰模式、组合模式、外观模式、亨元模式、代理模式;

    3、行为型模式(11种):观察着模式、访问者模式、中介者模式、策略模式、解释器模式、命令模式、迭代器模式、备忘录模式、责任链模式、模板模式,状态模式;

    相关文章

      网友评论

          本文标题:Android程序设计之设计模式开篇

          本文链接:https://www.haomeiwen.com/subject/eulikftx.html