

Copyright ©2015-2025 海马课堂网络科技(大连)有限公司 办公地址:辽宁省大连市高新技术产业园区火炬路32A号创业大厦A座18层1801室

添加微信
咨询辅导

软件设计原则是开发人员在开发软件时应遵循的准则,以创建清晰和可维护的代码。它是由许多知名的行业专家和作者推荐的一套技术和最佳实践。在这篇文章中,我们将讨论质量编码的基本软件设计原则,这些原则将帮助你创建高质量的软件。
你知道吗,你在开发软件时,有20%到40%的时间是在写代码?其余的时间你在阅读代码和维护系统。这就是为什么创建一个好的系统设计是如此重要。一个好的系统需要一个好的代码库,易于阅读、理解、维护(增加/改变功能、修复错误)和在未来扩展。这样可以节省时间和资源,同时提高工作满意度。
计算机程序中的每个模块、类或函数都应该负责一个功能。它们也应该包括这一部分,而且它们的服务应该狭义地集中在这个责任上。
SRP与 "链接"(低)和 "内聚"(高)的概念密切相关。SRP不一定意味着你的类应该只有一个方法或功能,而是指功能应该与一个责任相联系(而且它应该只有一个变化的原因)。SRP使类更小、更干净,使其更容易维护。
OCP规定,"软件实体,如模块、类、函数等,应该对扩展开放,但对修改封闭"。简单地说,一个模块/类的开发方式应该是,它的行为可以被扩展而不需要修改其源代码。
1.如何应用OCP
(1)通过创建新的派生类来增加新的功能,这些派生类必须继承于原始基类。
(2)通过Strategy等组合设计模式,允许客户用抽象接口访问原始类。
(3)然后,不修改现有的功能,而是创建新的派生类,原类的实现则保持原样。
2.遵守OCP有关的问题
如果你允许一个类或函数添加新的逻辑,你必须测试应用程序的所有功能,包括新功能和现有功能。你还需要通知QA团队即将发生的变化,这样他们就可以为回归测试和新功能的测试做准备。
例如,假设我们已经实现了一种机制,将折扣应用于发票的最终金额。有两种类型的折扣:一种只适用于最终发票,一种适用于建议的发票。当我们需要添加新的折扣类型时,就会发生违反OCP的情况,我们需要改变
DIP是SOLID的第五个原则,它指出高层模块/类不应该依赖于低层模块/类。相反,两者都应该依赖于抽象。其次抽象不应该依赖于细节;细节应该依赖于抽象。始终致力于使高层模块和低层模块尽可能地紧密联系。如果一个类知道另一个类的设计和实现,那么一个类的改变会破坏另一个类的风险就会增加。因此,我们需要让这些高层和低层的模块/类尽可能地保持松散的联系。为了达到这个目的,我们需要让它们依赖于抽象,而不是相互认识。源代码可在此获得。
海马课堂专业课程辅导,2300+严选硕博学霸师资,针对学生的薄弱科目和学校教学进度,匹配背景相符的导师,根据学生情况进行1V1专属备课,上课时间灵活安排,中英双语详细讲解课程中的考点、难点问题,并提供多方位的课后辅导,辅助学生掌握全部课程知识,补足短板。
阅读原文:https://www.highmarktutor.com/news/13238_59.html
版权作品,未经海马课堂 highmarktutor.com 书面授权,严禁转载,违者将被追究法律责任。
hmkt088