- 博客(10)
- 收藏
- 关注
原创 架构设计方法
本文系统阐述了软件架构设计的核心方法论——属性驱动设计(ADD)。架构师职责涵盖需求分析、设计决策、文档管理等全流程,ADD方法以架构驱动因素(设计目标、质量属性、功能需求等)为核心,通过迭代式设计过程构建满足需求的系统结构。文章详细解析了设计决策原则、设计理念(参考架构、模式、策略等)以及三类典型系统(成熟领域、新兴领域、现有系统)的设计方法,强调架构设计需结合分析技术(原型、检查表等)进行验证。ADD方法既能指导初期估算,又可适配不同开发生命周期,是连接业务需求与技术实现的系统化设计框架。
2026-07-19 21:45:30
213
原创 整洁软件架构
整洁架构的本质是围绕“业务逻辑为核心”的思想,通过分层设计、依赖规则和设计原则,实现系统的解耦,让软件系统能够在全生命周期中最小化成本、最大化地满足业务需求。架构设计的本质是“在约束中寻求平衡的艺术”——正如《周易》所言:“形而上者谓之道,形而下者谓之器”,架构师既要通晓抽象之道(可维护性、可扩展性、可测试性),又需精于具象之器(框架选型、模块划分、接口契约)。它不追求技术炫技,而重在为业务演化预留弹性,使系统如《道德经》所喻“埏埴以为器,当其无,有器之用”,以留白处承载未来之变。
2026-04-04 18:40:07
386
原创 谈谈软件的复杂性
《软件设计的哲学》探讨了软件复杂性的本质与控制方法。软件复杂性源于依赖关系和模糊性,表现为变更放大、认知负担和未知因素。作者提出通过模块化设计(深模块、信息隐藏)、通用化代码和分层抽象来降低复杂性。异常处理应尽量简化,可采用异常屏蔽、聚合或直接崩溃策略。良好的命名、注释和一致性原则能提升代码可读性。核心观点是区分重要与不重要元素:重要元素要突出,不重要元素要隐藏。优秀设计追求简单而强大的解决方案,控制复杂性是软件设计的核心挑战。
2026-01-25 20:44:32
568
原创 精益软件度量
软件开发方法,尤其是敏捷开发方法,正在越来越多地借鉴精益生产中的管理理念,其中主要的核心就是持续改进。要想持续改进,除了对改进方向的经验性认识以外,可以量化的改进目标也是一个无法回避的环节。在大规模实施精益管理的过程中,如何找到合理的度量,并合理利用这些度量,始终是一个难题。 度量是在一个特定组织上下文中形成的一系列共识。在一个软件开发组织里,度量统一的不仅仅是度量单位、度量对象、度量手段,更重要的是统一对目标的认识。 度量是将经验模型向量化模型进行匹配的尝试。量化模型有个非常重要的
2026-01-04 14:39:50
943
原创 谈谈软件模式设计
是一种比较常用的模式,为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们的具体类。抽象工厂是一个可以创建其他工厂的超级工厂,是工厂的工厂,是工厂方法模式的升级版本,在有多个业务品种、业务分类时,通过抽象工厂模式产生一系列相关的对象是一种非常好的解决方式。优点是:封装性好,每个产品的实现类不是高层模块要关心的;产品族内的约束为非公开状态。缺点是:产品族扩展非常困难,新增一个产品要在抽象工厂类中增加一个方法。抽象工厂模式。
2025-11-21 18:50:35
1076
原创 谈谈软件设计的一些原则
4)粘滞性包括设计的粘滞性或环境的粘滞性,如果修改代码保留原有设计比破坏原有设计更难,设计的粘滞性就很高,如果修改代码后,编译测试部署构件过程繁琐导致开发环境效率低下,环境粘滞性就会产生。软件中存中的不良设计,会导致软件随着时间推移而变得腐烂,不良设计主要有7个特征:僵硬性、脆弱性、不可移植性、粘滞性、不必要的复杂性、不必要的重复性,不透明性。6)不必要的重复性是指代码中包含很多重复的结构,通常是代码拷贝和粘贴的结果,尤其是半重复的代码会更糟糕,这些都会导致软件难以维护。
2025-07-17 15:19:49
560
原创 谈谈软件体系结构
回顾软件开发的历史,软件的规模和复杂度越来越高,软件的抽象程度也越来越高。对于庞大的软件系统而言,架构设计比数据结构和程序算法更为重要,决定着软件系统的成败。软件架构是什么,为什么它如此重要呢? 软件架构即软件体系结构,它是软件工程的一个分支,主要解决如何架构软件并保证软件质量的一门学科。简单地说,软件工程解决如何工程化开发软件项目,而软件体系结构则是在工程化开发项目之初规划、设计软件的架构,从而引导软件工程朝着正确的方向发展。传统软件工程的方法,更多关注的是软件的功能如何设计、实现和测试,而
2025-05-20 19:08:39
1747
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1