设计模式(一):七大原则

server/2024/10/20 16:02:16/

*设计模式的目的*

编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好

1) 代码重用性 (即:相同功能的代码,不用多次编写)

2) 可读性 (即:编程规范性, 便于其他程序员的阅读和理解)

3) 可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护)

4) 可靠性 (即:当我们增加新的功能后,对原来的功能没有影响)

5) 使程序呈现高内聚,低耦合的特性。

图片

*设计模式七大原则*

设计模式原则,其实就是程序员在编程时,应当遵守的原则,也是各种设计模式的基础(即:设计模式为什么这样设计的依据

1.单一职责原则(Single Responsibility Principle):即一个类应该只负责一项职责。

2.接口隔离原则(Interface Segregation Principle):一个类对另一个类的依赖应该建立在最小的接口上

3.依赖倒置原则(Dependence Inversion Principle):高层模块不应该依赖于低层模块,它们都应该依赖于抽象。抽象不应该依赖于实现细节,实现细节应该依赖于抽象。

4.里氏替换原


http://www.ppmy.cn/server/107022.html

相关文章

git merge、rebase、cherry-pick 区别

/* * merge rebase 与 cherry-pick 区别 */ cherry-pick 用于将另一个分支的某一次或几次commit应用到当前分支。它可以选择性地拉取代码修改。 merge 用于将两个分支合并成一个新分支。它会把整个分支上的所有修改都合并过来。 具体区别: cherry-pick 通常用于将…

虚幻引擎UE5入坑记

前言 Unreal Engine 和Unity Engine作为目前主流的游戏引擎,各有优缺点。而我目前的工作还是以Unity开发为主,在使用Unity的过程中,总避免不了听到或看到过UE相关的东西,从开始的好奇到后面想要去学习它,但是&#xf…

第七章 项目布局实现(7.4.5)——ElementPlus 自定义命名空间

7.4.5 ElementPlus 自定义命名空间 参考:https://cn.element-plus.org/zh-CN/guide/namespace.html Element Plus 提供的默认命名空间为 el。 在特殊情况下,我们需要自定义命名空间。 我们使用 sass 书写样式,必须同时设置 ElConfigProvider 和 scss $namespace。 设置 ElC…

【Liunx入门】Liunx换源

文章目录 前言一、备份默认源文件1.配置文件路径2.备份源文件 二、换源1.查看Ubuntu版本2.镜像源地址1)清华源2)阿里源3)中科大源 3.换源 三、更新镜像源总结 前言 由于Liunx系统默认的下载源为国外的源,所以在国内下载资源比较慢…

NVI技术创新联盟成立,BOSMA博冠IP轻量化制播已运用

2024年北京国际广播电影电视展览会(BIRTV)首日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV 2024超高清全产业链发展研讨会上宣布正式成立。作为国产8K摄像机先行者,BOSMA博冠受邀加入NVI技术…

XML 总结

XML 总结 XML(可扩展标记语言)是一种用于存储和传输数据的标记语言。它由万维网联盟(W3C)在1998年定义,旨在提供一种标准化、结构化的方式来组织数据。XML的设计目标是既易于人类阅读,也易于机器解析。本文…

(十三)Flink SQL

目录 DDL 操作 DML 操作 查询语句 1. SELECT DISTINCT 2. 窗口函数 3. 窗口聚合 4. OVER 聚合 5. 连接操作 6. TOP-N Flink 对 SQL 的支持基于实现了 SQL 标准的 Apache Calcite,包括数据定义语言(Data Definition Language,DDL)、数据操纵语言(Data Manipulatio…

wpf livechart 绘制笛卡尔曲线

先上图&#xff1a; 代码部分&#xff1a; <GroupBox Header"各生产线生产量趋势"><Grid><Grid.RowDefinitions><RowDefinition Height"45"/><RowDefinition Height"auto"/><RowDefinition/></Grid.RowD…