0

0

常见设计原则实例详解

零下一度

零下一度

发布时间:2017-06-23 14:28:33

|

1857人浏览过

|

来源于php中文网

原创

设计原则构成了设计模式赖以构建的基础。通过遵循经过验证的设计原则,自己的代码会变得更加灵活、更加能够适应变化,而且可维护性更佳。

常见设计原则

  • 简约原则(KISS)
    KISS原则的目标就是让代码保持简洁但不要过于简陋,从而避免引入任何不必要但复杂度。

  • 不要重复自己(DRY)
    BRY原则但目的是通过将公用但部分抽离出来放在一个单独的地方,从而避免重复系统中的任何部分。当然避免重复的不仅仅是代码,还包括业务逻辑。

  • 讲述而不要询问(Tell,Don‘t Ask)
    这个原则要求应该告诉对象您希望它们执行什么动作,而不是询问有关对象状态的问题然后您自己决定希望执行什么动作。这样有助于匹配责任并避免类之间的紧密耦合。

  • 您不需要它(YAGNI)
    该原则指的是只需要将应用程序必须的功能包含进来,而不要试图添加任何其他您认为可能需要的功能。

  • 分离关注点(SoC)
    SoC这一过程将软件分解为多项不同的功能,每项功能封装了可供其他类使用的唯一行为和数据。通常,一个关注点代表类的一项功能或行为。将程序划分成若干独立职责的做法显著提高了代码的重用成都、维护性和可测试性。

S.O.L.I.D设计原则

  • 单一职责原则(SRP)
    SRP与分离关注点原则保持高度一致。它要求每个对象应该有且只有一个职责关注点,即只有一个引起类变化的原因。

    PHP高级开发技巧与范例
    PHP高级开发技巧与范例

    PHP是一种功能强大的网络程序设计语言,而且易学易用,移植性和可扩展性也都非常优秀,本书将为读者详细介绍PHP编程。 全书分为预备篇、开始篇和加速篇三大部分,共9章。预备篇主要介绍一些学习PHP语言的预备知识以及PHP运行平台的架设;开始篇则较为详细地向读者介绍PKP语言的基本语法和常用函数,以及用PHP如何对MySQL数据库进行操作;加速篇则通过对典型实例的介绍来使读者全面掌握PHP。 本书

    下载
  • 开放封闭原则(OCP)
    该原则要求类对于扩展应该是开放的,而对于修改应该是关闭的,这样应该就能够在不改变类的内部行为的情况下为类添加新功能,并且避免类被破坏,造成不必要的错误或则bug。

  • 里氏替换原则(LSP)
    任何父类都应该可以被子类替代,并且保持其行为不变。改原则与OCP原则保持一致,确保继承类不会影响父类的行为。

  • 接口分离原则(ISP)
    ISP原则关注的是将接口方法按职责划分为若干个组,并且为这些分组指派不同的接口。避免客户端实现一个庞大和一堆用不到的接口。

  • 依赖倒置原则(DIP)
    DIP原则的宗旨是将自己编写的类与具体的实现隔离开来,让这些类依赖于抽象或者接口。它提倡面向接口编程,这确保代码不会与某种实现紧密耦合,从而提高恶系统的灵活性。

  • 依赖注入(DI)和控制反转(SoC)原则
    DI、SoC与DIP是紧密相连的。DI通过构造器、方法或属性提供低层类或从属类。配合使用DI原则,这些从属类可以被反转为接口或抽象类,这样就可以形成一个具有较高的可测试性和易于修改的低耦合系统。

ASP.NET设计模式:

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

2

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

2

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

0

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

0

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.29

clawdbot ai使用教程 保姆级clawdbot部署安装手册
clawdbot ai使用教程 保姆级clawdbot部署安装手册

Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

25

2026.01.29

clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址
clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址

clawdbot龙虾机器人官网入口:https://clawd.bot/,clawdbot ai是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

16

2026.01.29

Golang 网络安全与加密实战
Golang 网络安全与加密实战

本专题系统讲解 Golang 在网络安全与加密技术中的应用,包括对称加密与非对称加密(AES、RSA)、哈希与数字签名、JWT身份认证、SSL/TLS 安全通信、常见网络攻击防范(如SQL注入、XSS、CSRF)及其防护措施。通过实战案例,帮助学习者掌握 如何使用 Go 语言保障网络通信的安全性,保护用户数据与隐私。

8

2026.01.29

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

622

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS教程
CSS教程

共754课时 | 25万人学习

Webpack4.x---十天技能课堂
Webpack4.x---十天技能课堂

共20课时 | 1.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号