首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
egmentfault
soap
keyboard
搜索
编译
地图
比特币
homebrew
以太坊
sass
intel
wifi
websocket
区块链
lucene
composer
key
架构
push
arm
branch
csrf
数字化
gitlab
验证码
分支结构
日志
repository
cdn
sas
cas
login
zip
开发者
https
sdk
编程
gpu
pdf
360搜索
cloud
压缩
csv
64bit
widget
mapkit
service
抓站
pthread
web3
文件
final
搜狗搜索
xss
restful
职场
乱码
diff
excel
amazon
native
图片
jira
rpc
安全
outlook
二维码
扩展
漏洞
graphql
数据统计
架构设计
cpu
智能合约
运维
加密
gps
程序员
udp
当前位置:
开发笔记
>
程序员
> 正文
简单介绍六大设计原则
作者:9小酒 | 来源:互联网 | 2023-05-17 18:22
简单介绍六大设计原则设计原则种类单一职责接口隔离依赖倒置里式替换迪米特开闭1.
简单介绍六大设计原则
设计原则种类
单一职责
接口隔离
依赖倒置
里式替换
迪米特
开闭
1.单一职责原则
核心:一个类应该应该有专用的职责
注意:这里的类不光指类,也适用于方法和接口,比如我们常说的一个方法实现一个功能
2.接口隔离原则
建立单一接口( 一个接口只服务于一个子模块或业务逻辑),不要建立庞大臃肿的接口
尽量细化接口,接口中的方法尽量少
3.依赖导致原则
核心:面向接口编程
低层模块尽量都要有抽象类或接口,或者两者都有
4.里式替换
核心:子类可以完全替换父类
子类可以有自己的个性
5.迪米特原则
迪米特法则也叫最少知识原则,就是降低各模块之间的耦合
例如:系统设计时,不要让一个类依赖于太多的其他类(与太多的类有耦合关系),这样其中某一个模块发生修改时,就会尽量少地影响到其他模块
6.开闭原则
开:对扩展开放
闭:对修改关闭
推荐大家去看一本写的比较好的书:设计模式之禅
编程
扩展
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
日志
Hadoop发行版本选择指南:技术解析与应用实践
本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ...
[详细]
蜡笔小新 2024-12-22 20:38:12
搜索
有C和C++基础,如何提高面向对象的类的设计能力?
编写了几个500行左右代码的程序,但基本上解决问题还是面向过程的思维,如何从问题中抽象出类,形成类的划分和设计,从而用面向对象的思维解决问题?有这方面的入门好书吗?最好是结合几个具体的案例分析的 ...
[详细]
蜡笔小新 2024-12-22 19:50:43
搜索
SQL数据库面试题解析
本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ...
[详细]
蜡笔小新 2024-12-22 14:43:35
架构
Java项目分层架构设计与实践
本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ...
[详细]
蜡笔小新 2024-12-22 12:14:24
搜索
Nature Microbiology: 人类肠道古菌基因组目录
本研究揭示了人类肠道微生物群落中古细菌的多样性,分析了来自24个国家、农村和城市人群的1,167个非冗余古细菌基因组。研究鉴定了多个新分类群,并探讨了古菌对宿主的适应性及其与社会人口特征的关系。 ...
[详细]
蜡笔小新 2024-12-22 12:10:46
wifi
如何查找和设置网卡配置
本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ...
[详细]
蜡笔小新 2024-12-22 10:35:47
地图
Mathematica 12.3.1 中英文版正式发布,附新功能介绍
历经三十年的开发,Mathematica 已成为技术计算领域的标杆,为全球的技术创新者、教育工作者、学生及其他用户提供了一个领先的计算平台。最新版本 Mathematica 12.3.1 增加了多项核心语言、数学计算、可视化和图形处理的新功能。 ...
[详细]
蜡笔小新 2024-12-22 09:34:59
架构
深入解析Serverless架构模式
本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ...
[详细]
蜡笔小新 2024-12-22 09:08:56
架构
Python 内存管理机制详解
本文深入探讨了Python的内存管理机制,涵盖了垃圾回收、引用计数和内存池机制。通过具体示例和专业解释,帮助读者理解Python如何高效地管理和释放内存资源。 ...
[详细]
蜡笔小新 2024-12-22 19:27:56
日志
多线程异步任务的事务协调与管理
本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ...
[详细]
蜡笔小新 2024-12-22 19:11:04
日志
机器学习核心概念与技术
本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ...
[详细]
蜡笔小新 2024-12-22 09:15:30
搜索
精致小屏灰色风格苹果CMS v10模板,支持DIY主题管理系统
探索一款专为影视站设计的苹果CMS v10模板,具备强大的主题管理系统和500多个设置项,无需二次开发即可轻松配置。下载地址:https://www.mytheme.cn/maccms/244.html,演示地址:http://demo.mytheme.cn/index.php?id=244。 ...
[详细]
蜡笔小新 2024-12-22 05:04:30
push
深入解析Java虚拟机(JVM)架构与原理
本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ...
[详细]
蜡笔小新 2024-12-21 23:50:40
搜索
解决Visual Studio Code中JavaScript智能感知和自动完成功能异常
探讨如何修复Visual Studio Code中JavaScript的智能感知和自动完成功能在特定场景下无法正常工作的问题,包括配置检查、语言模式选择以及类型注释的使用。 ...
[详细]
蜡笔小新 2024-12-21 21:12:34
搜索
深入解析:Android 视频处理开源框架
本文将详细介绍多个流行的 Android 视频处理开源框架,包括 ijkplayer、FFmpeg、Vitamio、ExoPlayer 等。每个框架都有其独特的优势和应用场景,帮助开发者更高效地进行视频处理和播放。 ...
[详细]
蜡笔小新 2024-12-21 19:49:35
9小酒
这个家伙很懒,什么也没留下!
Tags | 热门标签
egmentfault
soap
keyboard
搜索
编译
地图
比特币
homebrew
以太坊
sass
intel
wifi
websocket
区块链
lucene
composer
key
架构
push
arm
branch
csrf
数字化
gitlab
验证码
分支结构
日志
repository
cdn
sas
RankList | 热门文章
1
CSS Grid布局属性详解及媒体查询应用
2
Struts 2 实战 - 快速构建登录功能
3
第九日集训:循环结构与递归算法
4
Java中使用Properties类读取和写入属性文件
5
求解无向图中避免重复访问边的最大成本路径
6
深入理解《Linux命令行与Shell脚本编程》第十一章
7
深入理解KMP算法及其应用
8
MySQL中使用innobackupex备份及binlog日志进行完整恢复的方法详解
9
C语言编程课程第十二课
10
程序员必备英文词汇精选(第34期)
11
利用Django与DRF构建全面的异常处理机制
12
解决Revit 2018二次开发中外部工具不显示的问题
13
解决Maven创建Web项目时名称后缀问题
14
深入理解Lambda表达式的应用
15
iOS开发中解决‘_OBJC_CLASS_$_JPUSHService’引用错误的方法
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有