代码改变世界

随笔分类 -  软件架构

接口的所有权之争

2022-06-23 15:57 by coderidea, 526 阅读, 收藏, 编辑
摘要: ​ 在 一文get到SOLID原则的重点 和 SOLDI原则之DIP:依赖倒置原则 里提到过DIP (依赖倒置原则)里提到过接口所有权的问题。今天再次聊下接口所有权。 在《敏捷软件开发:原则、模式与实践》里作者提到了一个开关和台灯设计的例子。 ​ 图1 图1的设计中,Switch 对象可以轮询真实的 阅读全文

策略模式在应用中的实践

2022-06-20 08:59 by coderidea, 431 阅读, 收藏, 编辑
摘要: ​ 行为模式有一种模式叫策略模式(Strategy Pattern),一个类的行为或其算法可以在运行时更改。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 意图:定义一系列的算法,把它们一个个封装起来, 阅读全文

架构师之路—从阅读经典开始

2020-05-02 10:55 by coderidea, 436 阅读, 收藏, 编辑
摘要: 记得刚毕业那几年面试的时候,经常会被问到,你的职业规划是什么?那时候经常会回答“未来想做一个架构师”。可转眼已工作十年了,工作中除了挖坑,填坑,早已忘记了梦想是什么。有时候想停下来,休息个一年半载。但无奈这上有老,下有小,为了生存便也身不由己继续苟且。 这个年纪如果还想继续做这一行,有两个选择一个是 阅读全文

企业应用架构的基本模式之分离接口

2018-12-24 20:57 by coderidea, 741 阅读, 收藏, 编辑
摘要: 本篇介绍企业应用架构的基本模式之一分离接口(Separated Interface)模式。这个模式比较常见,相信我们在应用中已经用过很多次了,甚至在一些架构中成了应用标准,不管用不用得到。 分离接口(Separated Interface) 在一个包中定义接口,而在另一个与这个包分离的包中实现这个接 阅读全文

SOLDI原则之DIP:依赖倒置原则

2018-12-24 00:52 by coderidea, 667 阅读, 收藏, 编辑
摘要: 本篇介绍软件设计原则之一DIP:依赖倒置原则。很多知识回头来看会有新的理解。看到一句话,一段文字,一个观点有了新的理解,醍醐灌顶的感觉。这种感觉像是一种惊喜。古语说:温故而知新。 DIP:依赖倒置原则 a.高层模块不应该依赖于低层模块。二者都应该依赖于抽象。 b.抽象不应该依赖于细节。细节应该依赖于 阅读全文

企业应用架构的基本模式之入口模式

2018-12-23 09:04 by coderidea, 764 阅读, 收藏, 编辑
摘要: 本篇介绍企业应用架构的基本模式之一入口(Gateway)模式。 入口(Gateway) 入口是一个封装外部系统或资源访问的对象。带来系统上的简单性,可测试性,使得依赖资源的替换变得更加容易。 代码示例地址:https://github.com/tianyaxiang/ApplicationArchi 阅读全文

领域逻辑的组织模式

2018-12-22 17:36 by coderidea, 607 阅读, 收藏, 编辑
摘要: “领域逻辑组织可以分为三种主要的模式:事务脚本(Transaction Script)、领域模型(Domain Model)和表模块(Table Module)” 事务脚本 Transaction Script 使用过程来组织业务逻辑,每个过程处理来自表现层的单个请求。大多数应用都可以被看作是一系列 阅读全文

【转】软件架构

2011-08-16 14:31 by coderidea, 473 阅读, 收藏, 编辑
摘要: 实强调软件架构的最主要的目的有3个:重用:人们希望系统能够重用以前的代码和设计,从而提高开发效率;扩展:人们希望在系统能够保持结构的稳定的前提下很容易地扩充功能和性能,希望能够“以静制动“;简洁:常言道,简洁就是美,好的架构一定易于理解,易于学习,易于维护,人们希望能够通过一个简洁的架构来把握系统;什么是软件架构:http://www.ibm.com/developerworks/cn/rational/rationaledge/content/mar06/eeles/index.html架构一词是舶来品,是architecture的中文翻译, 其英文的本意是来源于建筑行业的建筑艺术、建筑(风 阅读全文