如何提高代码的扩展性(2)

简介: 如何提高代码的扩展性(2)

三、什么是高内聚、低耦合


image.png


模块就是从系统层次去分成不同的部分,每个部分就是一个模块!分而治之, 将大型系统的复杂问题,分成不同的小模块,去处理问题!


耦合:主要是讲模块与模块之间的联系


image.png


例如:如果模块A直接操作了模块B的数据,这种操作模块与模块之间就为强耦合,甚至可以认为这种情况之下基本算没有分模块!如果A只是通过数据与B模块交互,这种我们称之为弱耦合!微服务独立的模块,方便去维护,或者写单元测试等等...如果木块之间的依赖非常严重,将会非常不易于维护。


内聚:主要指的是模块内部【东西聚合在一起形成了一个模块】例如方法,变量,对象,或者是功能模块。



image.png


模块内部的代码, 相互之间的联系越强,内聚就越高, 模块的独立性就越好。一个模块应该尽量的独立,去完成独立的功能!如果有代码非得引入到独立的模块,建议拆分成多模块!低内聚的代码,不好维护,代码也不够健壮。


四、软件设计的目的


image.png


1、如何评价代码的质量


最重要的是:灵活性;可扩展性;可维护性;可读性。


image.png



相关文章
|
9天前
|
设计模式 测试技术
《怎样实现代码的可维护性和可扩展性》
实现代码的可维护性和可扩展性,需关注命名与注释、遵循编程规范、模块化设计、应用设计模式、编写单元测试、使用版本控制、文档化及定期重构等方面。这些措施有助于提升代码质量,促进团队协作,确保项目长期健康发展。
45 12
|
2月前
|
存储 缓存 监控
如何提高数据驱动方式的性能和可维护性?
【10月更文挑战第13天】 本文深入探讨了提高数据驱动方式性能与可维护性的关键方法和策略,包括优化数据结构选择、数据缓存策略、合理的数据更新策略、数据压缩与精简、代码结构优化、测试与监控、版本控制与协作管理、文档化与知识共享、持续优化的意识及结合实际案例分析,旨在为数据驱动的高效和可持续发展提供全面指导。
|
6月前
|
消息中间件 存储 负载均衡
|
6月前
|
算法 Linux C++
C++框架设计中实现可扩展性的方法
在软件开发中,可扩展性至关重要,尤其对于C++这样的静态类型语言。本文探讨了在C++框架设计中实现可扩展性的方法:1) 模块化设计降低耦合;2) 使用继承和接口实现功能扩展;3) 通过插件机制动态添加功能;4) 利用模板和泛型提升代码复用;5) 遵循设计原则和最佳实践;6) 应用配置和策略模式以改变运行时行为;7) 使用工厂和抽象工厂模式创建可扩展的对象;8) 实现依赖注入增强灵活性。这些策略有助于构建适应变化、易于维护的C++框架。
493 2
|
6月前
|
中间件 微服务 缓存
中间件性能和可扩展性
【6月更文挑战第1天】
85 9
|
7月前
|
监控 中间件
选择中间件性能和可扩展性
【5月更文挑战第20天】
76 1
|
6月前
|
缓存 关系型数据库 数据库
【DDIA笔记】【ch1】 可靠性、可扩展性和可维护性 -- 可扩展性
【6月更文挑战第3天】可扩展性关乎系统应对负载增长的能力,但在产品初期过度设计可能导致失败。理解基本概念以应对可能的负载增长是必要的。衡量负载的关键指标包括日活、请求频率、数据库读写比例等。推特的扩展性挑战在于"扇出",即用户关注网络的广度。两种策略包括拉取(按需查询数据库)和推送(预计算feed流)。推送方法在推特案例中更为有效,因为它减少了高流量时的实时计算压力。
59 0
|
7月前
模块功能复用和扩展性
模块功能复用和扩展性 模块功能复用和扩展性是软件工程中的重要概念,主要体现在设计和实现阶段。
104 1
|
7月前
|
算法 程序员 PHP
编写魅力十足的代码:优化可读性、维护性和性能的关键
本篇汇总了平时在工作开发中常遇到的业务逻辑的优雅写法,也汇总了自己还是新人时,拿到一个业务不知道怎么下手的痛点,依稀记得那时候总感觉自己写的代码不规范。 写完之后,感觉还是美好的,又学到东西了。
|
设计模式 算法
如何优雅地使用策略模式来实现更灵活、可扩展和易于维护的代码?
如何优雅地使用策略模式来实现更灵活、可扩展和易于维护的代码?
92 0