如何保证架构设计的稳定性------项目前后两次架构设计对比
2013-06-10 13:02
435 查看
计费中心一期已做完,今天重新根据已开发的代码画了下类图和时序图,发现和项目开发之前画的有了很大变化,这说明之前的架构设计缺乏稳定性,经不起开发细化过程中的推敲。因此有必要对比一下改动点,吸取经验,争取在下次做架构的时候考虑更全面。下面以周期性批价计费这个场景为例,首先看看开发前的类图:
再来看看开发过后的类图:
通过对比发现存在以下问题:
没有高类聚导致没有低耦合。开发前的设计没有把每个类和方法的职责考虑清楚,导致在开发过程中无法很好的复用,以至于需要拆分类和方法,以提高可复用性,降低耦合。
类设计缺乏层次。在重构过程中需要增加类的层次,以提高代码可复用性。
缺乏对业务更进一步的细化,导致设计比较空洞,没有很好地体现业务。
当然以上的问题不是都需要在设计之初解决的,比如增加类层次性和提高可复用性都可以在代码迭代重构中逐步完善。
下面看看开发前的时序图:
再来看看开发过后的时序图:
通过对比发现存在以下问题:
业务流程考虑有较大误差,主要体现在容错方面
增加了任务管理和批价代理两个服务组件,提高可维护性和性能
总的说来,开发前的架构设计基本吻合之开发过程中的需求,但在更贴切地体现业务、高类聚低耦合、可维护性、容错、性能、类的层次性等方面还欠考虑,有待以后的提高
再来看看开发过后的类图:
通过对比发现存在以下问题:
没有高类聚导致没有低耦合。开发前的设计没有把每个类和方法的职责考虑清楚,导致在开发过程中无法很好的复用,以至于需要拆分类和方法,以提高可复用性,降低耦合。
类设计缺乏层次。在重构过程中需要增加类的层次,以提高代码可复用性。
缺乏对业务更进一步的细化,导致设计比较空洞,没有很好地体现业务。
当然以上的问题不是都需要在设计之初解决的,比如增加类层次性和提高可复用性都可以在代码迭代重构中逐步完善。
下面看看开发前的时序图:
再来看看开发过后的时序图:
通过对比发现存在以下问题:
业务流程考虑有较大误差,主要体现在容错方面
增加了任务管理和批价代理两个服务组件,提高可维护性和性能
总的说来,开发前的架构设计基本吻合之开发过程中的需求,但在更贴切地体现业务、高类聚低耦合、可维护性、容错、性能、类的层次性等方面还欠考虑,有待以后的提高
相关文章推荐
- 如何保证架构设计的稳定性------项目前后两次架构设计对比
- 如何设计一个牛掰的大型项目架构?
- 设计外包,如何保证项目的整体质量和效率?
- 如何在VSTS中利用Folder对项目和文件进行功能分区,以体现架构设计
- 如何设计一个牛掰的大型项目架构?
- 摘要:本篇是本人在做一个大数据项目时,对于系统架构的一点总结,如何在保证存储量的情况下,又能保证数据的检索速度。
- 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获
- 如何设计一个牛掰的大型项目架构?
- 如何设计一个牛掰的大型项目架构?
- 如何一步一步用DDD设计一个电商网站(二)—— 项目架构
- 如何设计一个牛掰的大型项目架构?
- 一个实际项目Java架构设计之总体设计
- 如何进行软件架构设计?
- 浅谈工业级物联网项目架构设计及实施
- Unity项目架构设计与开发管理观看总结
- 京麦微信小程序圣诞抽奖项目的架构设计
- 如何构建千万用户级别 后台数据库架构设计的思路
- 架构,改善程序复用性的设计~第六讲 我的系统结构~将所有可以抽象的项目进行抽象(大结局)
- .NET领域驱动设计—看DDD是如何运用设计模式颠覆传统架构
- .NET领域驱动设计—看DDD是如何运用设计模式颠覆传统架构