• 设计模式的六大原则


    开闭原则:

    百度百科:面向对象编程领域中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变                            它 的源代码的前提下变更它的行为。该特性在产品化的环境中是特别有价值的,在这种环境中,改变源代码需要代码审查单元测试以及诸如此类的用以确保产品                              使用质量的过程。遵循这种原则的代码在扩展时并不发生改变,因此无需上述的过程

    个人见解:在现有的软件项目或模块中,如果需要新增一个模块,无需去修改源代码以及改逻辑,而是对其进行扩展,新增代码,不影响其正常的功能!

                            通俗的讲:就是程序好扩展,容易维护和升级

    里氏代换原则:

    百度百科:里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用                         的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够在基类的基础上增加新的行为。里氏代换原则是 “开-                           闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。

    个人见解这个讲的是继承关系,子类继承父类,子类可以去替换父类,而不影响的程序的正常运行,父类才能被复用,子类也能够在父类的基础上增加新的行为。

                           通熟的讲:子类一定要能替换父类,并且能在其增加新的行为。

    依赖倒转原则:

    百度百科:依赖倒置原则(Dependence Inversion Principle)是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样                          就降低了客户与实现模块间的耦合。

    个人见解:程序设计的时候,把功能用接口或者抽象去描述,具体的功能和实现,让实现类去操作,针对接口编程

                           通熟讲:降低模块间的耦合。

    接口隔离原则

    百度百科:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

    个人见解:使用多个隔离的接口,使用起来更灵活

                          通熟讲:提高程序设计灵活性。

    迪米特法则

    百度百科:迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。                         英文简写为: LoD.

    个人见解:软件中实体与实体之间的应该减少相互作用,让其独立起来,方便后期维护

                           通熟讲:降低类之间的耦合,减少对其他类的依赖。

    单一职责原则

    百度百科:单一职责原则(SRP:Single responsibility principle)又称单一功能原则,面向对象五个基本原则(SOLID)之一。它规定一个类应该只有一个发生变化的原因。                         该原则由罗伯特·C·马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中给出的。马丁表示此原则是基于汤姆·狄马克(Tom DeMarco)和Meilir                           Page-Jones的著作中的内聚性原则发展出的。

    个人见解:接口和类之间单继承,让类独立起来,只负责一个模块

                         通熟讲:类的复杂性降低,可读性提高,可维护性提高。

    参考了:http://www.woshipm.com/pd/779447.html

  • 相关阅读:
    分享,如何激励程序员?
    [经验交流] (最新)移动App应用安全漏洞分析报告 !
    最全最热【资源汇总】Android应用解决方案全攻略
    最赚钱十大行业 网络编辑3G工程师入选
    分享:Android Studio 导入第三方jar包,重复加载错误解决办法。
    分享:怎么去测试一个 app 是否存在安全问题?
    Android系统刷机后第一次启动很慢的原因
    转载分享:Android APP二次打包操作步骤介绍
    Android开发之HelloWorld程序
    安卓源码总体结构(2)基础知识汇总
  • 原文地址:https://www.cnblogs.com/2828sea/p/10997843.html
Copyright © 2020-2023  润新知