首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
excel
架构
zip
乱码
push
分支结构
gpu
sass
xss
branch
sdk
智能合约
homebrew
keyboard
native
graphql
outlook
web3
mapkit
安全
composer
pdf
扩展
seo
service
lucene
cdn
csrf
widget
gps
pthread
比特币
验证码
login
程序员
diff
intel
soap
职场
cloud
csv
arm
压缩
架构设计
gitlab
编译
日志
amazon
搜索
jira
开发者
cas
360搜索
key
文件
运维
区块链
websocket
repository
64bit
漏洞
egmentfault
搜狗搜索
二维码
https
sas
抓站
编程
cpu
图片
wifi
final
数据统计
地图
restful
加密
以太坊
数字化
udp
当前位置:
开发笔记
>
程序员
> 正文
简单介绍六大设计原则
作者:9小酒 | 来源:互联网 | 2023-05-17 18:22
简单介绍六大设计原则设计原则种类单一职责接口隔离依赖倒置里式替换迪米特开闭1.
简单介绍六大设计原则
设计原则种类
单一职责
接口隔离
依赖倒置
里式替换
迪米特
开闭
1.单一职责原则
核心:一个类应该应该有专用的职责
注意:这里的类不光指类,也适用于方法和接口,比如我们常说的一个方法实现一个功能
2.接口隔离原则
建立单一接口( 一个接口只服务于一个子模块或业务逻辑),不要建立庞大臃肿的接口
尽量细化接口,接口中的方法尽量少
3.依赖导致原则
核心:面向接口编程
低层模块尽量都要有抽象类或接口,或者两者都有
4.里式替换
核心:子类可以完全替换父类
子类可以有自己的个性
5.迪米特原则
迪米特法则也叫最少知识原则,就是降低各模块之间的耦合
例如:系统设计时,不要让一个类依赖于太多的其他类(与太多的类有耦合关系),这样其中某一个模块发生修改时,就会尽量少地影响到其他模块
6.开闭原则
开:对扩展开放
闭:对修改关闭
推荐大家去看一本写的比较好的书:设计模式之禅
编程
扩展
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
扩展
eBPF和WebAssembly:云原生VM的比较及应用领域
本文比较了eBPF和WebAssembly作为云原生VM的特点和应用领域。eBPF作为运行在Linux内核中的轻量级代码执行沙箱,适用于网络或安全相关的任务;而WebAssembly作为图灵完备的语言,在商业应用中具有优势。同时,介绍了WebAssembly在Linux内核中运行的尝试以及基于LLVM的云原生WebAssembly编译器WasmEdge Runtime的案例,展示了WebAssembly作为原生应用程序的潜力。 ...
[详细]
蜡笔小新 2023-12-14 21:27:37
扩展
如何用UE4制作2D游戏文档——计算篇
篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ...
[详细]
蜡笔小新 2023-12-14 09:50:34
扩展
使用 Ubuntu 中的 Python 获取浏览器历史记录
使用Ubuntu中的Python获取浏览器历史记录原文: ...
[详细]
蜡笔小新 2023-12-14 08:57:59
扩展
Hyperledger Fabric外部链码构建与运行的开发笔记
本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ...
[详细]
蜡笔小新 2023-12-13 21:47:39
扩展
Voicewo在线语音识别转换jQuery插件的特点和示例
本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ...
[详细]
蜡笔小新 2023-12-13 20:01:16
zip
logistic回归(线性和非线性)的开发笔记
本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ...
[详细]
蜡笔小新 2023-12-14 21:40:43
扩展
知识图谱——机器大脑中的知识库
本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ...
[详细]
蜡笔小新 2023-12-14 10:06:19
扩展
JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ...
[详细]
蜡笔小新 2023-12-14 09:31:45
扩展
Perl的测试框架Test::Base简介及使用方法
本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ...
[详细]
蜡笔小新 2023-12-13 20:05:31
扩展
XML介绍与使用的概述及标签规则
本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ...
[详细]
蜡笔小新 2023-12-13 17:39:50
扩展
如何通过全新应用内评价获取更多优质用户反馈?
Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ...
[详细]
蜡笔小新 2023-12-13 17:23:03
扩展
Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ...
[详细]
蜡笔小新 2023-12-13 16:18:09
扩展
Linux 正则表达式基础及使用注意事项
本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ...
[详细]
蜡笔小新 2023-12-13 14:24:45
扩展
如何从列表中删除所有零?
本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ...
[详细]
蜡笔小新 2023-12-13 13:02:00
扩展
热血合击脚本辅助工具及随机数生成器源码分享
本文分享了一个热血合击脚本辅助工具及随机数生成器源码。游戏脚本能够实现类似真实玩家的操作,但信息量有限且操作不可控。热血合击脚本辅助工具可以帮助玩家自动刷图、换图拉怪等操作,并提供了雷电云手机的扩展服务。此外,还介绍了使用mt_rand函数作为随机数生成器的代码示例。 ...
[详细]
蜡笔小新 2023-12-13 12:50:33
9小酒
这个家伙很懒,什么也没留下!
Tags | 热门标签
excel
架构
zip
乱码
push
分支结构
gpu
sass
xss
branch
sdk
智能合约
homebrew
keyboard
native
graphql
outlook
web3
mapkit
安全
composer
pdf
扩展
seo
service
lucene
cdn
csrf
widget
gps
RankList | 热门文章
1
手机安全模式为什么会打开?要怎么解除呢?
2
branch什么意思中文翻译_汽车ABS是个啥?它有什么作用?
3
基于单片机的心形流水灯
4
幼儿园各个区角设计大全
5
Xp系统如何删除用户账号呢?
6
程序员养成记
7
上海小学期末不考英语非新规
8
阿凡题添加好友步骤
9
快手空白名怎么设置在线等急?快手设置名字
10
在备忘录里怎样新建文件夹
11
创建子焊件
12
Photoshop调出人像图片甜美的质感淡青色
13
出入库表格自动减数公式_测量计算慢咋办?8套最火的测量公式自动计算表格,测量员都在用...
14
dxf中凸度的计算
15
汽车全景视频制作让企业营销传播无界长久
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有