上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页
摘要: 架构这个词,总会让人联想到权威和神秘感,他让我们想到那些举足轻重的决策和深厚的技术功底,软件架构位于技术成就的顶峰。一提起软件架构师,我们就会想到大佬们 可究竟什么是软件架构?软件架构师是做什么的?又是什么时候开展工作? 首先软件架构师本身就是程序员,并且始终都是程序员,千万别相信那种鬼话:说架构师 阅读全文
posted @ 2026-03-20 11:25 cyusouyiku 阅读(3) 评论(0) 推荐(0)
摘要: 本章聚焦组件间关系设计,核心围绕可开发性与逻辑设计的权衡,受技术、管理、需求变动等多重因素影响,提出三大组件耦合原则,同时配套量化度量指标指导架构优化:首先是无环依赖原则(ADP),要求组件依赖图必须为有向无环图(DAG),杜绝依赖循环,解决多人协作的“次日清晨综合征”,避免集成混乱、测试困难、构建 阅读全文
posted @ 2026-03-20 10:46 cyusouyiku 阅读(6) 评论(0) 推荐(0)
摘要: 哪些类应归属于哪些组件?这是一项关键决策,需要优良的软件工程原则作为指导。遗憾的是,多年来,这一决策的制定方式一直较为随意,几乎完全依赖具体场景来定。 在本章中,我们将探讨组件内聚的三大原则:REP:复用 / 发布等价原则(The Reuse/Release Equivalence Principl 阅读全文
posted @ 2026-03-20 10:01 cyusouyiku 阅读(7) 评论(0) 推荐(0)
摘要: 组件是部署单元。它们是系统中可被部署的最小实体。在 Java 中,组件是 jar 文件;在 Ruby 中,是 gem 文件;在 .NET 中,是 DLL 文件。在编译型语言中,组件是二进制文件的聚合体;在解释型语言中,组件是源文件的聚合体。在所有语言中,组件都是部署的基本粒度单位。 组件既可以被链接 阅读全文
posted @ 2026-03-19 18:48 cyusouyiku 阅读(4) 评论(0) 推荐(0)
摘要: 依赖倒置原则(DIP) 依赖倒置原则(DIP)指出:最灵活的系统是那些源代码依赖仅指向抽象(abstractions)、而非具体实现(concretions)的系统。 在 Java 这类静态类型语言中,这意味着 use、import、include 等声明语句应仅引用包含接口、抽象类或其他抽象声明的 阅读全文
posted @ 2026-03-19 18:33 cyusouyiku 阅读(10) 评论(0) 推荐(0)
摘要: 接口隔离原则(ISP) 图10.1 接口隔离原则 在图10.1描述的场景中,有多个使用者会调用 OPS 类中的操作。假设: User1 只使用 op1 User2 只使用 op2 User3 只使用 op3 现在设想 OPS 是一个用 Java 这类语言编写的类。显然,在这种情况下,User1 的源 阅读全文
posted @ 2026-03-19 18:31 cyusouyiku 阅读(5) 评论(0) 推荐(0)
摘要: 里氏替换原则(LSP) 1988 年,芭芭拉·利斯科夫(Barbara Liskov)提出了如下定义,用于描述子类型。 我们所需要的是一种类似如下的替换性质:如果对于类型 S 的每一个对象 o1,都存在一个类型 T 的对象 o2,使得在所有基于 T 定义的程序 P 中,用 o1 替换 o2 后,程序 阅读全文
posted @ 2026-03-19 18:28 cyusouyiku 阅读(12) 评论(0) 推荐(0)
摘要: 开闭原则(OCP) 由伯特兰・迈耶在 1988 年提出。它的定义是:软件实体应当对扩展开放,对修改关闭。 换句话说:软件的行为应该可以被扩展,而不必去修改这个实体本身。当然,这正是我们学习软件架构最根本的原因。显然,如果需求的一点点扩展,都会迫使软件发生大规模修改,那么这个软件系统的架构师就完全失败 阅读全文
posted @ 2026-03-19 16:42 cyusouyiku 阅读(10) 评论(0) 推荐(0)
摘要: 单一职责原则(SRP) 在所有 SOLID 原则中,单一职责原则(SRP) 可能是最被误解的一个。原因很可能在于它的名字取得特别不恰当。程序员太容易一听到这个名字,就想当然地认为:每个模块只应该做一件事。别搞错,确实有这么一条原则:一个函数应该只做一件事,并且只做这一件事。我们在把大函数拆成小函数时 阅读全文
posted @ 2026-03-19 16:32 cyusouyiku 阅读(6) 评论(0) 推荐(0)
摘要: 在很多方面,函数式编程的概念甚至比编程本身出现得更早。 这种范式强烈基于阿隆佐·邱奇在 20 世纪 30 年代发明的 λ 演算。 整数的平方 要解释什么是函数式编程,最好看例子。 我们看一个简单问题:打印前 25 个整数的平方。 在 Java 这类语言里,我们可能这样写: public class 阅读全文
posted @ 2026-03-19 16:03 cyusouyiku 阅读(4) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页