软件设计的原则

简介: 软件设计的原则

今天学习讨论了设计模式中软件设计的原则部分,通过老师的举例和层层深入的代码重构,让我明白了在设计软件的过程中,遵守相关的软件设计原则是多么的重要,不仅仅是方便日后查看代码,更是为了在维护更新代码的过程中减少我们的工作量,方便解决用户的需求问题。

首先,我们从一个简单的VB程序print 5+6入手,这样的代码非常的常见,我们也会在编写代码的过程中经常使用到,但是就是这么简单的一句代码,也有很大的改进空间,我们在编写代码的同时一定不能忘了经常提醒自己是否遵守了设计模式中的七大原则:

开闭原则:对扩展开放、对修改关闭

里氏替换原则:继承必须确保父类所拥有的性质在子类中仍然成立(例如:长方形不是正方形)

依赖倒置原则:要面向接口编程,不要面向实现编程

单一职责原则:控制类的粒度大小、将对象解耦、提高其内聚性(一个方法干好一件事(原子性))

接口隔离原则:要为各个类建立他们需要的专用接口

迪米特法则:只与你的直接朋友交谈,不跟“陌生人”说话。(不越级汇报。解耦)

合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。

在设计模式的学习中,有一句话老师总是提到,就是“变是永远不变的”。这句话虽然听起来不符合逻辑,但是把这句话用到软件设计方面却是再适合不过了。因为我们在代码重构的过程中所做的操作就是将更多可变的因素控制成为不变的代码,比如用户要输入不同的数字,我们只需要定义一个变量来接受用户输入的数字即可,这样看似变化的数据,但是体现在代码中时就是不变的。把不变的算法结构抽象出来,变化的是千千万万种不同数字的组合。这样的软件设计理念不仅仅是在设计这种简单程序的时候要使用,越是重要,越是庞大的软件更需要遵守这样的软件设计原则,这样我们软件才能更好的更新迭代下去。



当我们真正熟悉并能能灵活使用这些软件设计的原则的时候,我们所编写的代码也就能更好的解耦合,更好的复用和灵活。在面对用户的不同需求的时候也不会焦头烂额。


目录
相关文章
|
Dubbo 网络协议 安全
【Dubbo 解析】Dubbo 支持哪些协议,它们的优缺点有哪些?
【1月更文挑战第11天】【Dubbo 解析】Dubbo 支持哪些协议,它们的优缺点有哪些?
|
人工智能 测试技术
软件测试的7大原则
软件测试的7大原则
603 0
|
机器学习/深度学习 编解码 搜索推荐
【卷积集】近万字长文总结了日常使用的“卷积”特征,内附代码实现送给准备面试的你
【卷积集】近万字长文总结了日常使用的“卷积”特征,内附代码实现送给准备面试的你
315 0
|
机器学习/深度学习 设计模式 人工智能
开源即巅峰!《Java程序性能优化实战》GitHub三小时标星已超34k
阿嘴又来给大家分享好书了:葛一鸣老师的 《Java程序性能优化实战》,开源版本网上暂时还没!小编会在文末附电子版免费下载方式。
|
数据安全/隐私保护 Python
Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)
Python hashlib 加密方法(MD5、SHA1、SHA256、SHA52)
566 0
|
9月前
|
机器学习/深度学习 人工智能 算法
ProtGPS:MIT再造生命科学新基建!蛋白质AI一键预测定位+设计新序列,登Nature子刊
ProtGPS 是麻省理工学院和怀特黑德研究所联合开发的蛋白质语言模型,能够预测蛋白质在细胞内的亚细胞定位,并设计具有特定亚细胞定位的新型蛋白质。
670 17
ProtGPS:MIT再造生命科学新基建!蛋白质AI一键预测定位+设计新序列,登Nature子刊
|
API 开发者 Python
API接口:原理、实现及应用
本文详细介绍了API接口在现代软件开发中的重要性及其工作原理。API接口作为应用程序间通信的桥梁,通过预定义的方法和协议实现数据和服务的共享。文章首先解释了API接口的概念,接着通过Python Flask框架示例展示了API的设计与实现过程,并强调了安全性的重要性。最后,本文还讨论了API接口在Web服务和移动应用程序等领域的广泛应用场景。
|
消息中间件 算法 数据库
架构设计篇问题之商城系统高并发写的问题如何解决
架构设计篇问题之商城系统高并发写的问题如何解决
176 0
|
12月前
|
缓存 NoSQL Redis
Redis 缓存使用的实践
《Redis缓存最佳实践指南》涵盖缓存更新策略、缓存击穿防护、大key处理和性能优化。包括Cache Aside Pattern、Write Through、分布式锁、大key拆分和批量操作等技术,帮助你在项目中高效使用Redis缓存。
1182 22
|
人工智能 弹性计算 自动驾驶
2023 AI开发者生态报告:技术生态、开发范式与应用案例全景
随着人工智能技术的飞速发展,全球IT市场对AI的投入持续增长,预计到2027年将达到4236亿美元。
下一篇
开通oss服务