设计模式分类和软件设计原则

news/2024/10/13 16:00:47

1.设计模式分类

类别名称 描述 设计模式
创建型模式 怎样创建对象,将对象的创建与使用分离 单例、原型、工厂方法、抽象工厂、建造者
结构型模式 将类或对象按某种布局组成更大的结构 代理、适配器、桥接、装饰、外观、亨元、组合
行为型模式 类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务,以及怎样分配职责 模板方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器

2.软件设计原则

  • 开闭原则

    • 对扩展开放,对修改关闭。对程序进行拓展时,不修改原有代码,提高扩展性,易于维护和升级。
  • 里氏代换原则

    • 子类可以扩展父类的功能,但不能改变父类原有的功能
  • 依赖倒转原则

    • 高层模块不应该依赖低层模块,两者都应该依赖其抽象。
  • 接口隔离原则

    • 客户端不应该被迫依赖于它不使用的方法,一个类对另一个类的依赖应该建立在最小的接口之上。
  • 迪米特法则(最少知识原则)

    • 如果两个实体无须直接通信,就不应当发生直接的相互调用,可以通过第三方转发调用。降低类之间的耦合度。
  • 合成复用原则

    • 先使用组合或者聚合等关系实现,其次使用继承关系实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/71099.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

20242822《Linux内核原理与分析》第三周作业

张晓攀+原创作品转载请注明出处+《Linux内核分析》MOOC课程https://mooc.study.163.com/course/1000029000 一、实验楼上实验二——mykernel实验指导(操作系统是如何工作的) 1.使用实验楼的虚拟机打开shell输入所给命令这段代码的意思是应用一个补丁文件到Linux内核源代码,配…

正义使者其五

最正义的一集\(\Huge{能参加高校校园行,好!}\)

2024-2025-1 20241407《计算机基础与程序设计》第三周学习总结

这个作业属于哪个课程 2024-2025-1计算机基础与程序设计这个作业要求在哪里 2024-2025-1计算机基础与程序设计第三周作业这个作业的目标 学习数字分类与计数法、位置计数法、进制转换、模拟数据与数字数据、压缩与解压、数字化、信息安全作业正文 https://www.cnblogs.com/wang…

TowardsDataScience-博客中文翻译-2019-三十五-

TowardsDataScience 博客中文翻译 2019(三十五)原文:TowardsDataScience Blog 协议:CC BY-NC-SA 4.0如何保护云中的健康数据原文:https://towardsdatascience.com/how-to-secure-health-data-in-the-cloud-541fbdad811a?source=collection_archive---------16-----------…

TowardsDataScience-博客中文翻译-2019-三十三-

TowardsDataScience 博客中文翻译 2019(三十三)原文:TowardsDataScience Blog 协议:CC BY-NC-SA 4.0如何用 Python 编写公平抛硬币的代码原文:https://towardsdatascience.com/how-to-code-a-fair-coin-flip-in-python-d54312f33da9?source=collection_archive---------7…

TowardsDataScience-博客中文翻译-2019-六十-

TowardsDataScience 博客中文翻译 2019(六十)原文:TowardsDataScience Blog 协议:CC BY-NC-SA 4.0堆叠分类器以提高预测性能原文:https://towardsdatascience.com/stacking-classifiers-for-higher-predictive-performance-566f963e4840?source=collection_archive------…

TowardsDataScience-博客中文翻译-2016-2018-三十一-

TowardsDataScience 博客中文翻译 2016~2018(三十一)原文:TowardsDataScience Blog 协议:CC BY-NC-SA 4.0主成分分析:你的教程和代码原文:https://towardsdatascience.com/principal-component-analysis-your-tutorial-and-code-9719d3d3f376?source=collection_archive-…

TowardsDataScience-博客中文翻译-2016-2018-三十八-

TowardsDataScience 博客中文翻译 2016~2018(三十八)原文:TowardsDataScience Blog 协议:CC BY-NC-SA 4.0Python 属性的原因和方式原文:https://towardsdatascience.com/the-why-and-how-of-python-properties-b791817cf4b9?source=collection_archive---------3--------…