首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
widget
diff
sdk
xss
zip
加密
cdn
gitlab
push
安全
日志
漏洞
https
扩展
职场
intel
区块链
branch
地图
egmentfault
文件
智能合约
keyboard
amazon
编程
jira
比特币
数字化
service
gpu
验证码
架构
64bit
final
soap
开发者
运维
seo
wifi
repository
架构设计
rpc
pthread
gps
csv
编译
arm
搜索
websocket
web3
二维码
restful
outlook
excel
graphql
抓站
以太坊
cas
乱码
homebrew
360搜索
sass
lucene
分支结构
cpu
login
搜狗搜索
cloud
程序员
mapkit
压缩
udp
图片
key
pdf
数据统计
csrf
native
composer
当前位置:
开发笔记
>
程序员
> 正文
简单介绍六大设计原则
作者:9小酒 | 来源:互联网 | 2023-05-17 18:22
简单介绍六大设计原则设计原则种类单一职责接口隔离依赖倒置里式替换迪米特开闭1.
简单介绍六大设计原则
设计原则种类
单一职责
接口隔离
依赖倒置
里式替换
迪米特
开闭
1.单一职责原则
核心:一个类应该应该有专用的职责
注意:这里的类不光指类,也适用于方法和接口,比如我们常说的一个方法实现一个功能
2.接口隔离原则
建立单一接口( 一个接口只服务于一个子模块或业务逻辑),不要建立庞大臃肿的接口
尽量细化接口,接口中的方法尽量少
3.依赖导致原则
核心:面向接口编程
低层模块尽量都要有抽象类或接口,或者两者都有
4.里式替换
核心:子类可以完全替换父类
子类可以有自己的个性
5.迪米特原则
迪米特法则也叫最少知识原则,就是降低各模块之间的耦合
例如:系统设计时,不要让一个类依赖于太多的其他类(与太多的类有耦合关系),这样其中某一个模块发生修改时,就会尽量少地影响到其他模块
6.开闭原则
开:对扩展开放
闭:对修改关闭
推荐大家去看一本写的比较好的书:设计模式之禅
编程
扩展
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
编程
使用 Ubuntu 中的 Python 获取浏览器历史记录
使用Ubuntu中的Python获取浏览器历史记录原文: ...
[详细]
蜡笔小新 2023-12-14 08:57:59
编程
如何用UE4制作2D游戏文档——计算篇
篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ...
[详细]
蜡笔小新 2023-12-14 09:50:34
编程
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
编程
2018年人工智能大数据的爆发,学Java还是Python?
本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ...
[详细]
蜡笔小新 2023-12-14 20:08:28
数字化
云原生边缘计算之KubeEdge简介及功能特点
本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ...
[详细]
蜡笔小新 2023-12-14 16:49:01
service
Java工具类库Hutool介绍及功能概述
本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ...
[详细]
蜡笔小新 2023-12-14 14:29:36
文件
C语言注释工具及快捷键,删除C语言注释工具的实现思路
本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ...
[详细]
蜡笔小新 2023-12-14 11:22:08
文件
【Windows】实现微信双开或多开的方法及步骤详解
本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ...
[详细]
蜡笔小新 2023-12-14 10:52:27
扩展
知识图谱——机器大脑中的知识库
本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"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
9小酒
这个家伙很懒,什么也没留下!
Tags | 热门标签
widget
diff
sdk
xss
zip
加密
cdn
gitlab
push
安全
日志
漏洞
https
扩展
职场
intel
区块链
branch
地图
egmentfault
文件
智能合约
keyboard
amazon
编程
jira
比特币
数字化
service
gpu
RankList | 热门文章
1
禁止工地停车标志怎么用AI设计
2
asp.net记住我功能
3
mysql 创建本地用户名和密码是什么_添加mysql的用户名和密码是什么语句?
4
org.glassfish.hk2.api.ActiveDescriptor.releaseCache()方法的使用及代码示例
5
在 MS SQL Server 中备份数据库
6
Lewis电子理论
7
【PostGIS】PostGIS 常用函数中文介绍说明
8
PWN入门系列(四):栈终结篇
9
在MySQL中查找重复记录
10
php头像上传并裁剪支持3个尺寸
11
4用户交互raw_input()、 getpass
12
设计Whats App
13
JSP页面的跳转及传值
14
《庐山雪》翻译 原文赏析诗人明王世懋
15
真想死了算了
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有