设计模式遵循的设计原则

一、什么是设计原则?

答:如果说设计模式是编写代码的一种套路,那么设计原则就是用来约束我们使用这种套路应该要遵循的规则,只有遵循了这些规则的设计模式编写出来的应用程序才具有更好的扩展性和维护性。作为一个程序员,不应该只站在客户的角度去判定某一程序只要实现了了功能、拥有了漂亮的外观、良好的用户体验,就说这一程序是完美的,除此之外,我们还应该从程序的可扩展性、维护性来判定这一程序是否完美,一个扩展性和维护性差的程序的后期维护和升级成本或许远远超出开发时的成本,这对于程序员个人来说或许事不关己,但对于公司来说却是一个潜在的成本。

二、6大设计原则:

1、单一职责原则

2、里氏替换原则

3、依赖倒置原则

4、接口隔离原则

5、迪米特原则(最少知道原则)

6、开闭原则

Original: https://www.cnblogs.com/zqhIndex/p/10182704.html
Author: 我若安好,便是晴天
Title: 设计模式遵循的设计原则

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612906/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Oracle备份与还原(实用版)

    Oracle备份与还原 EXP和IMP是客户端工…

    数据库 2023年6月16日
    098
  • MySQL数据类型(精)

    数据类型(精) MySQL中的数据类型 整型类型 类型介绍 可选属性 M 显示宽度 不会影响类型的实际宽度 设置字段f1,f2,f3 f1 INT, f2 INT(5), f3 I…

    数据库 2023年5月24日
    087
  • Redis学习

    Redis 因为没有指定配置文件 需配置 redis-server redis.windows.conf 之后自动启动 测试性能 redis-benchmark -p 6379 -…

    数据库 2023年6月16日
    077
  • IE浏览器各版本的CSS Hack

    IE浏览器各版本的CSS Hack 如下示例: .test{ color:black;/W3C/ color:red\9;/ IE6-IE10 / _color:black;/IE…

    数据库 2023年6月9日
    0160
  • MySQL的undo日志—MVCC前置知识

    undo日志 前面学习了redo日志,redo日志保证的是崩溃时事务持久性。我们可以从redo日志恢复到系统崩溃以前。 undo日志就是为了保证事务回滚时事务所作所为都能回到事务执…

    数据库 2023年5月24日
    0101
  • Java压缩图片

    压缩图片 一、压缩原理 一张原始图像(1920×1080),如果每个像素32bit表示(RGBA),那么,图像需要的内存大小1920x1080x4 = 8294400 B…

    数据库 2023年6月6日
    087
  • COM组件 学习笔记

    COM组件是 以Win32动态链接库dll或可执行文件exe的形式发布的可执行代码组成的; COM组件是动态链接的,COM使用dll将组件动态链接起来; COM组件是语言无关的; …

    数据库 2023年6月14日
    069
  • Python环境安装

    一、下载地址: Python:Download Python | Python.org PyCharm:Download PyCharm: Python IDE for Profe…

    数据库 2023年6月14日
    072
  • 如何重置postgresql用户密码

    如何重置postgresql用户密码 场景: 打算新建一个postgresql的数据库 FooDB 并把所有者权限赋给用户 foo 正常操作应该是:先创建用户foo,再用foo身份…

    数据库 2023年6月9日
    0106
  • 读取资源文件的几种常用方法

    资源文件的读取方法: 本地读取资源文件 undefined2. 服务器(Tomcat)通过ServletContext获取: ServletContext servletConte…

    数据库 2023年6月16日
    092
  • docker安装下载

    一、docker安装 查看 sudo systemctl status docker 安装 …

    数据库 2023年6月9日
    078
  • 2. 函数

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月16日
    095
  • mysql配置环境变量

    安装MySQL 5.6,0.28 官网下载解压即可 下载后解压 然后以管理身份打开 my.ini配置(得先配置) bin>mysqld –initialize-i…

    数据库 2023年6月9日
    087
  • Java学习-第一部分-第二阶段-第三节:异常

    异常 笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html) 运行下面的代码,看看有什么问题->引出异常和异常处理…

    数据库 2023年6月11日
    0121
  • MySQL InnoDB索引原理

    数据库与I/O原理 数据会持久化到磁盘,查询数据是就会有I/O操作,相对于缓存操作,I/O操作的时间成本相当高昂。 I/O操作的基本单位是一个磁盘页面,比如16KB的页面大小。当数…

    数据库 2023年6月14日
    091
  • 字节一面:事务还没提交的时候,redolog 能不能被持久化到磁盘呢?

    又是被自己菜醒的一天,总结面经看到这题目听都没听过,打开百度就像吃饭一样自然 老规矩,背诵版在文末。点击阅读原文可以直达我收录整理的各大厂面试真题 首先,咱需要明白的是,啥是持久化…

    数据库 2023年6月6日
    0125
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球