自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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-12-12 17:44:59 1072

原创 谈谈软件度量-1

​ 没有软件度量,就不能从软件开发的暗箱中跳将出来。通过软件度量可以改进软件开发过程,促进项目成功,开发高质量的软件产品。​

2025-12-09 19:02:32 697

原创 谈谈软件模式设计

是一种比较常用的模式,为创建一组相关或相互依赖的对象提供一个接口,而且无须指定它们的具体类。抽象工厂是一个可以创建其他工厂的超级工厂,是工厂的工厂,是工厂方法模式的升级版本,在有多个业务品种、业务分类时,通过抽象工厂模式产生一系列相关的对象是一种非常好的解决方式。优点是:封装性好,每个产品的实现类不是高层模块要关心的;产品族内的约束为非公开状态。缺点是:产品族扩展非常困难,新增一个产品要在抽象工厂类中增加一个方法。抽象工厂模式。

2025-11-21 18:50:35 1076

原创 谈谈软件设计的一些原则

4)粘滞性包括设计的粘滞性或环境的粘滞性,如果修改代码保留原有设计比破坏原有设计更难,设计的粘滞性就很高,如果修改代码后,编译测试部署构件过程繁琐导致开发环境效率低下,环境粘滞性就会产生。软件中存中的不良设计,会导致软件随着时间推移而变得腐烂,不良设计主要有7个特征:僵硬性、脆弱性、不可移植性、粘滞性、不必要的复杂性、不必要的重复性,不透明性。6)不必要的重复性是指代码中包含很多重复的结构,通常是代码拷贝和粘贴的结果,尤其是半重复的代码会更糟糕,这些都会导致软件难以维护。

2025-07-17 15:19:49 560

原创 谈谈软件体系结构

回顾软件开发的历史,软件的规模和复杂度越来越高,软件的抽象程度也越来越高。对于庞大的软件系统而言,架构设计比数据结构和程序算法更为重要,决定着软件系统的成败。软件架构是什么,为什么它如此重要呢? 软件架构即软件体系结构,它是软件工程的一个分支,主要解决如何架构软件并保证软件质量的一门学科。简单地说,软件工程解决如何工程化开发软件项目,而软件体系结构则是在工程化开发项目之初规划、设计软件的架构,从而引导软件工程朝着正确的方向发展。传统软件工程的方法,更多关注的是软件的功能如何设计、实现和测试,而

2025-05-20 19:08:39 1747

原创 谈谈软件开发方法

最近上在

2022-06-14 10:14:04 2299 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除