美文网首页
面向对象七大设计原则

面向对象七大设计原则

作者: 头发白了的周大爷 | 来源:发表于2020-01-03 16:39 被阅读0次

    七大设计原则

    单一职责原则

    每一个类应该专注于做一件事情
    可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;提高类的可读性,提高系统的可维护性;变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。

    开闭原则

    面向扩展开放,面向修改关闭
    为一个软件系统增加新功能时,只需要从原来的系统派生出一些新类就可以,不需要修改原来的任何一行代码。

    里氏替换原则

    **子类必须能够替换任何地方的父类 **
    比如玩具枪继承枪,但在战争中无法代替枪用于攻击

    合成/聚合原则

    尽量使用合成/聚合而不使用类继承
    比如把”总监”,”经理”,”学生”当成”人”的子类。错误在于把”职位”和”人”的等级结构混淆了。一个人可以同时拥有多个职位。如果按继承来设计,一个人只能有一个职位,而且无法再改变。
    正确的是建立抽象类”职位”,”总监”,”经理”,”学生”是”职位”的子类,”人”可以拥有多个”职位”。

    迪米特法则(最少知道原则)

    一个对象应当对其他对象有尽可能少的了解
    比如你去买一辆车,给钱就行,不需要知道车是怎么生产的。

    依赖倒置原则

    让高层模块不直接依赖低层模块
    若高层模块A直接依赖低层模块B,假如要将A改为依赖C,则必须修改A的代码。而将A修改为依赖接口I,更换底层模块时只需实现接口I

    接口隔离原则

    一个接口只应该描述一种能力
    例如,琴棋书画应该设计为四个接口,而不是一个接口中的四个方法,因为琴棋书画四样都精通的人还是少数,如果按能力分开,会几个就实现几个接口,会使每个接口更好地被复用

    相关文章

      网友评论

          本文标题:面向对象七大设计原则

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