前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >dart设计模式的六大原则

dart设计模式的六大原则

作者头像
徐建国
发布2021-12-01 12:13:37
1540
发布2021-12-01 12:13:37
举报
文章被收录于专栏:个人路线个人路线

设计模式

参考 模式分析,模式难点,模式解决问题,优点,缺点,模式应用场景,模式代码(基于dart)

六大原则

开闭原则(Open-Closed-Principle)

核心:一个软件实体应当对拓展开放,对修改关闭。即:软件实体应尽量在不修改原有代码的情况下进行拓展。

里氏代换原则(Liskow-Substitution-Principle)

核心:所有引用基类(父类)的地方,都必须能透明地使用其子类的对象。

一个软件实体如果使用的是一个父类,那么一定适用于其子类,而且他察觉不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。简单地说,子类必须能够替换掉它们的父类型。

依赖倒转原则(Dependency-Inversion-Principle)

核心: 抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而非针对实现编程。

思想: 抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。依赖倒转其实可以说是面向对象设计的标志,用哪种语言来编写程序不重要,如果编写时考虑的都是如何针对抽象编程而不是针对细节编程,即 程序中所有的依赖关系都是终止于抽象类或者接口,那就是面向对象的设计,反之就是面向过程化设计了。

原则:

  1. 高层模块不应该依赖于低层模块。两个都应该依赖于抽象。
  2. 抽象不应该依赖细节。细节应该依赖于抽象。

单一职责原则(Single-Responsibility-Principle)

核心:一个类只负责一个功能领域中相应的职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。

思想:如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。【Eg:游戏的界面组成与逻辑组成分离】

接口隔离原则(Interface-Segregation-Principle)

核心:使用多个专门的接口,而不使用单一的总接口。即 客户端不应该依赖于那些它不需要的接口。

迪米特法则(Law-Of-Demeter)

核心:一个软件实体应当尽可能少地与其他实体发生作用。(无熟人难办事)

思想:也叫最少知识原则。如果两个类不彼此通信,那么这两个类就不应当直接地发生相互作用。如果其中一个类需要另一个类的某一个方法的话,可以通过第三者转发这个调用。(不要和陌生人说话)

原则:在迪米特法则中,对于一个对象,其朋友包括如下几类:

  1. 当前对象 this
  2. 以参数形式传入到当前对象方法中的对象
  3. 当前对象的成员对象
  4. 若当前对象的成员你对象是一个集合,那么集合中的对象也都是朋友
  5. 当前对象所创建的对象
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 坚果前端 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 设计模式
    • 六大原则
      • 开闭原则(Open-Closed-Principle)
      • 里氏代换原则(Liskow-Substitution-Principle)
      • 依赖倒转原则(Dependency-Inversion-Principle)
      • 单一职责原则(Single-Responsibility-Principle)
      • 接口隔离原则(Interface-Segregation-Principle)
      • 迪米特法则(Law-Of-Demeter)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档