“深入浅出”系列之设计模式篇:(0)什么是设计模式

server/2025/1/26 18:42:58/

设计模式六大原则

1. 单一职责原则:一个类或者一个方法只负责一项职责,尽量做到类的只有一个行为原因引起变化。

核心思想:控制类的粒度大小,将对象解耦,提高其内聚性。

2. 开闭原则:对扩展开放,对修改关闭。即软件实体(类、模块、函数等)应该可以扩展,但是不可修改。

实现方法:通过抽象约束、封装变化来实现,即通过接口或者抽象类为软件实体定义一个相对稳定的抽象层,而将相同的可变因素封装在相同的具体实现类中。

3. 里氏替换原则:子类可以扩展父类的功能,但不能改变原有父类的功能。

核心思想:确保基类与子类之间的替换性,即子类对象可以替换基类对象,且不会导致程序的错误。

4. 依赖倒置原则:高层模块不应该依赖于低层模块,二者都应该依赖于其抽象;抽象不应该依赖于细节,细节应该依赖于抽象。

实现方法:面向接口编程,通过接口或抽象类作为参数、返回值或成员变量等,使高层模块与低层模块之间解耦。

5. 接口隔离原则:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

核心思想:将接口拆分成更小的、更具体的接口,使客户端只需要知道它们感兴趣的方法。

6. 迪米特法则:一个对象应该对其他对象有最少的了解,只与直接朋友通信。

核心思想:限制软件实体之间通信的宽度和深度,降低系统的复杂度。

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

相关文章

怎么设置电脑屏幕一直亮着 Windows系统/Mac系统

当您正在使用电脑专注工作或观看视频,突然间电脑屏幕自动关闭,是否会感到十分困惑?这种情况通常是由电源管理设置引起的,Windows系统默认会在一段时间没有操作后关闭显示器,以节省电量。设置电脑屏幕一直亮着&#xff…

漫话架构师|什么是系统架构设计师(开篇)

~犬📰余~ “我欲贱而贵,愚而智,贫而富,可乎? 曰:其唯学乎” 关注犬余,共同进步 技术从此不孤单

对受控组件和非受控组件的理解?应用场景?

受控组件与非受控组件的理解与应用 在 React 中,组件可以通过两种方式管理表单元素的状态:受控组件和非受控组件。这两者在处理表单输入数据时有很大的区别,理解它们的应用场景和优劣对于开发者来说非常重要。 目录结构: 受控组…

HarmonyOS NEXT应用开发边学边玩系列:从零实现一影视APP (二、首页轮播图懒加载的实现)

在开发一款影视APP时,首页的轮播图是一个非常重要的部分。它不仅能够吸引用户的注意力,还能有效地推广重点内容。为了提升应用的性能和用户体验,可以实现轮播图的懒加载功能。本文将详细介绍如何在HarmonyOS NEXT应用开发中实现这一功能。 1.…

mysql概述

sql的定义: sql(Structured Query Language):结构化查询语言 sql的分类: DDL(Data Definition Language): 数据定义语言——定义对数据库对象(库,表&…

jupyter ai 结合local llm 实现思路

参考链接: jupyter ai develop 开发文档 https://jupyter-ai.readthedocs.io/en/latest/developers/index.html langchain custom LLM 开发文档 https://python.langchain.com/v0.1/docs/modules/model_io/llms/custom_llm/ stackoverflow :intergrate Local LLM…

网管平台(进阶篇):路由器的管理实践

在当今数字化时代,路由器作为网络连接的核心设备,其管理对于确保网络的稳定、高效和安全至关重要。本文旨在深入探讨路由器管理的重要性、基本设置步骤、高级功能配置以及日常维护,帮助读者构建一个高效且安全的网络环境。 一、路由器管理的…

OpenCV基于均值漂移算法(pyrMeanShiftFiltering)的水彩画特效

1、均值漂移算法原理 pyrMeanShiftFiltering算法结合了均值迁移(Mean Shift)算法和图像金字塔(Image Pyramid)的概念,用于图像分割和平滑处理。以下是该算法的详细原理: 1.1 、均值迁移(Mean …