目录
常见设计原则
S.O.L.I.D设计原则
首页 后端开发 C#.Net教程 常见设计原则实例详解

常见设计原则实例详解

Jun 23, 2017 pm 02:28 PM
原则 概述 设计 软件

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

常见设计原则

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

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

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

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

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

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

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

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

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

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

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

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

ASP.NET设计模式:

以上是常见设计原则实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1675
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
crystaldiskmark是什么软件?-crystaldiskmark如何使用? crystaldiskmark是什么软件?-crystaldiskmark如何使用? Mar 18, 2024 pm 02:58 PM

CrystalDiskMark是一款适用于硬盘的小型HDD基准测试工具,可以快速测量顺序和随机读/写速度。接下来就让小编为大家介绍一下CrystalDiskMark,以及crystaldiskmark如何使用吧~一、CrystalDiskMark介绍CrystalDiskMark是一款广泛使用的磁盘性能测试工具,用于评估机械硬盘和固态硬盘(SSD)的读写速度和随机I/O性能。它是一款免费的Windows应用程序,并提供用户友好的界面和各种测试模式来评估硬盘驱动器性能的不同方面,并被广泛用于硬件评

CrystalDiskinfo使用教程-CrystalDiskinfo是什么软件? CrystalDiskinfo使用教程-CrystalDiskinfo是什么软件? Mar 18, 2024 pm 04:50 PM

CrystalDiskInfo是一款用来查看电脑硬件设备的软件,在这款软件中我们可以对自己的电脑硬件进行查看,例如读取速度、传输模式以及接口等!那么除了这些功能之外,CrystalDiskInfo怎么使用,CrystalDiskInfo究竟是什么呢,下面就让小编为大家整理一下吧!一、CrystalDiskInfo的由来作为电脑主机三大件之一,固态硬盘是电脑的存储媒介,负责电脑的数据存储,一块好的固态硬盘能加快文件的读取速度,影响消费者使用体验。当消费者收到新设备时,可通过第三方软件或其他固态硬盘

首发899元 中兴5G随身Wi-Fi U50S开售:最高网速500Mbps 首发899元 中兴5G随身Wi-Fi U50S开售:最高网速500Mbps Apr 26, 2024 pm 03:46 PM

4月26日消息,中兴5G随身Wi-FiU50S目前已经正式开售,首发899元。外观设计上,中兴U50S随身Wi-Fi简约时尚,易于手持和包装。其尺寸为159/73/18mm,携带方便,让您随时随地畅享5G高速网络,实现畅行无阻的移动办公与娱乐体验。中兴5G随身Wi-FiU50S该设备支持先进的Wi-Fi6协议,峰值速率高达1800Mbps,依托骁龙X55高性能5G平台,为用户提供极速的网络体验。不仅支持5G双模SA+NSA网络环境和Sub-6GHz频段,实测网速更可达惊人的500Mbps,轻松满

复古潮流!HMD与喜力联合推出翻盖手机:透明外壳设计 复古潮流!HMD与喜力联合推出翻盖手机:透明外壳设计 Apr 17, 2024 pm 06:50 PM

4月17日消息,HMD携手知名啤酒品牌喜力以及创意公司Bodega,联袂推出了一款别具一格的翻盖手机——无聊手机(TheBoringPhone)。这款手机不仅在设计上充满新意,更在功能上返璞归真,旨在引领人们回归真实的人际交往,享受与朋友畅饮的纯粹时光。无聊手机采用了独特的透明翻盖设计,展现出一种简约而不失优雅的美感。其内部配备了2.8英寸QVGA显示屏,外部则是一块1.77英寸的显示屏,为用户提供了基本的视觉交互体验。在摄影方面,虽然仅搭载了30万像素的摄像头,但足以应对日常的简

一个不兼容的软件尝试与Edge加载怎么解决? 一个不兼容的软件尝试与Edge加载怎么解决? Mar 15, 2024 pm 01:34 PM

  我们在使用Edge浏览器的时候有时候会出现不兼容的软件尝试一起加载,那么这是怎么回事?下面就让本站来为用户们来仔细的介绍一下一个不兼容的软件尝试与Edge加载怎么解决吧。  一个不兼容的软件尝试与Edge加载怎么解决  解决方案一:  开始菜单搜IE,直接用IE访问即可。  解决方案二:  注意:修改注册表可能会导致系统故障,谨慎操作。  修改注册表参数。  1、运行中输入regedit。  2、找到路径\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Micros

台电M50 Mini小平板来了:8.7寸IPS屏、5000mAh电池 台电M50 Mini小平板来了:8.7寸IPS屏、5000mAh电池 Apr 04, 2024 am 08:31 AM

4月3日消息,台电即将推出的M50Mini平板电脑是一款功能丰富、性能强大的设备。这款8英寸小平板新品搭载了8.7英寸的IPS屏幕,为用户提供了出色的视觉体验。其金属机身设计不仅美观,还增强了设备的耐用性。在性能方面,M50Mini搭载了紫光展锐T606八核处理器,拥有两个A75核心和六个A55核心,确保了流畅且高效的运行体验。同时,该平板还配备了6GB+128GB的存储方案,并支持8GB内存扩展,满足了用户对于存储和多任务处理的需求。在续航上,M50Mini配备了5000mAh的电池,支持Ty

vivo信号最强手机!vivo X100s搭载寰宇信号放大系统:21天线、360°环绕设计 vivo信号最强手机!vivo X100s搭载寰宇信号放大系统:21天线、360°环绕设计 Jun 03, 2024 pm 08:41 PM

5月13日消息,vivoX100s今晚正式发布,除了出色的影像,新机在信号方面表现也十分强悍。据vivo官方介绍,vivoX100s采用了创新的寰宇信号放大系统,该系统配备了高达21根天线。这一设计基于直屏进行了重新优化,以平衡5G、4G、Wi-Fi、GPS以及NFC等众多信号需求。这使得vivoX100s成为了vivo有史以来信号接收能力最强的手机。新款手机还采用了独特的360°环绕设计,天线分布在机身周围。这一设计不仅增强了信号的强度,还针对日常各种握持姿势进行了优化,避免了因握持方式不当导

photoshopcs5是什么软件?-photoshopcs5使用教程 photoshopcs5是什么软件?-photoshopcs5使用教程 Mar 19, 2024 am 09:04 AM

PhotoshopCS是PhotoshopCreativeSuite的缩写,由Adobe公司出品的软件,被广泛用于平面设计和图像处理,作为新手学习PS,今天就让小编为您解答一下photoshopcs5是什么软件以及photoshopcs5使用教程。一、photoshopcs5是什么软件AdobePhotoshopCS5Extended是电影、视频和多媒体领域的专业人士,使用3D和动画的图形和Web设计人员,以及工程和科学领域的专业人士的理想选择。呈现3D图像并将它合并到2D复合图像中。轻松编辑视

See all articles