LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

软件工程:工程师必知的8条设计原则

admin
2023年7月12日 8:47 本文热度 897

软件工程是一门涉及到设计、开发、测试和维护软件的实践性学科。

软件工程的目标是提高软件的质量、效率和可靠性,以满足用户的需求和预期。

为了实现这个目标,软件工程师需要遵循一些基本原则,指导他们在软件开发过程中做出合理的决策。

这些原则可以称为软件工程的黄金原则,因为它们具有一定普遍性和指导性。

在过去的一段时间内,我们分享了8个常见设计原则,今天做一个总体性的总结。

具体内容如下:

1单一职责原则(SRP)

单一职责原则是指在软件系统中,一个模块或一个类应该只负责一个职责或一个功能。

这个原则可以提高软件系统的内聚性和可读性,降低软件系统的耦合度和复杂度。

单一职责原则要求一个模块或一个类在完成其职责或功能时,不会影响或依赖其他模块或类。

实现单一职责原则的方法有很多,比如使用分解、封装、委托、代理等。

具体见:软件工程:单一职责原则(SRP)

2开放封闭原则(OCP)

开放封闭原则是指在软件系统中,一个模块应该对扩展开放,对修改封闭。

这个原则可以提高软件系统的可复用性和可维护性,适应需求的变化和用户的需求。

开放封闭原则要求一个模块在不修改其内部代码的情况下,可以通过扩展其功能来满足新的需求。

实现开放封闭原则的方法有很多,比如使用抽象、接口、继承、多态、插件、钩子等。

具体见:软件工程:开放封闭原则(OCP)

3里氏替换原则(LSP)

里氏替换原则是指在软件系统中,如果一个类是另一个类的子类,那么子类的对象可以替换父类的对象,并且不会改变原有的功能和正确性。

这个原则可以保证软件系统的一致性和完整性,遵循面向对象的设计原则。

里氏替换原则是继承关系的基础,也是多态的前提。

实现里氏替换原则的方法有很多,比如使用抽象、覆盖、重载、协变、逆变等。

具体见:软件工程:里氏替换原则(LSP)

4KISS原则

KISS原则是Keep It Simple, Stupid的缩写,意思是保持简单。

这个原则强调要尽量使用简单和直观的方法来解决问题,避免使用复杂和晦涩的方法。

这样可以提高代码的可理解性、可测试性和可修改性,也可以减少出错的风险和调试的难度。

KISS原则可以应用在不同的方面上,比如需求分析、设计方案、编码风格、算法选择等。

实现KISS原则的方法有很多,比如使用伪代码、注释、文档、重构等。

具体见:软件工程:Kiss原则,复杂事情简单做,是重要的能力

5合成复用原则

合成复用原则是指在软件系统中,应该尽量使用组合或聚合来实现复用,而不是使用继承。

这个原则可以提高软件系统的灵活性和可扩展性,降低类之间的耦合度和层次复杂度。

组合或聚合是指一个类包含或引用另一个类作为其属性或成员变量,而继承是指一个类从另一个类派生出来,并继承其属性和方法。

实现合成复用原则的方法有很多,比如使用委托、策略模式、装饰器模式等。

具体见:软件工程:合成复用原则,组合优于继承

6依赖稳定原则

依赖稳定原则是指在软件系统中,稳定的模块应该依赖于其他稳定的模块,而不稳定的模块应该依赖于其他不稳定的模块。

这个原则可以保证软件系统的稳定性和可靠性,减少因为依赖关系而导致的错误和变更。

稳定性可以从多个方面来衡量,比如变化频率、抽象程度、耦合度等。

实现依赖稳定原则的方法有很多,比如使用接口、抽象类、依赖注入(DI)、控制反转(IoC)等。

具体见:软件工程:依赖稳定原则

7DRY原则

DRY原则是Don't Repeat Yourself的缩写,意思在编写代码时,避免添加不必要的功能或复杂性。

这个原则强调要避免代码的冗余和重复,尽量复用已有的代码,减少代码的数量和复杂度。

这样可以提高代码的可读性、可维护性和可扩展性,也可以减少出错的可能性和修改的成本。

DRY原则可以应用在不同的层次上,比如变量、函数、类、模块等。

实现DRY原则的方法有很多,比如使用抽象、封装、继承、多态、模板、泛型等。

具体见:软件工程:DRY原则,提升代码的复用性

8YAGNI原则

YAGNI原则是You Ain't Gonna Need It的缩写,意思是你不会需要它。

这个原则强调要避免过度设计和过度编码,只实现当前需求所必须的功能,不要预测未来可能需要的功能。

这样可以避免浪费时间和资源在不必要或不确定的功能上,也可以避免增加代码的复杂度和难以维护。

YAGNI原则可以帮助软件工程师保持敏捷和灵活,适应需求的变化和用户的反馈。

实现YAGNI原则的方法有很多,比如使用迭代开发、最小可行产品(MVP)、测试驱动开发(TDD)等。

具体见:软件工程:YAGNI原则,不对未来做太多的假设

Part1最后

以上是在工程实践中,比较重要的8个指导性的基础原则。

一名合格的软件工程师,需要了解和掌握这些基本的设计原则,并学会结合具体的场景需求,做出有效且灵活的应用。

能够更好的解决软件开发中的面临的复杂问题,且能够做出高质量的设计和决策,最终交付更多的优秀的产品和创造更多的价值。


该文章在 2023/7/12 9:00:12 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved