
架构设计学习
文章平均质量分 79
zhaoqiubo
这个作者很懒,什么都没留下…
展开
-
敏捷思维-架构设计中的方法学(4)
四、团队设计 团队设计是敏捷方法论中很重要的一项实践。我们这里说的团队,指的并不是复数的人。一群人就是一群人,并没有办法构成团队。要想成为团队,有很多的工作要做。 我们之所以考虑以团队为单位来考虑架构设计,是因为软件开发本身就不是一件个人的事情,架构设计更是如此。单个人的思维不免有考虑欠妥之处,单个人的学识也不可能覆盖所有的学科。而组织有效的团队却能够弥补这些缺憾。 Context转载 2004-10-20 10:07:00 · 1455 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(13)
十三、代码验证 要保证架构的稳定和成功,利用代码对架构进行验证是一种实用的手段。代码验证的核心是测试,特别是单元测试。而测试的基本操作思路是测试优先,它是敏捷方法中非常重要的一项实践,是重构和稳定核模式的重要保障。 面向对象体系中的代码验证 代码验证是保证优秀的架构设计的一种方法,同时也是避免出现象牙塔式架构设计的一种措施。我们在上一篇稳定化中提到说架构设计最终将会体现为代码的形式,因转载 2004-10-20 10:20:00 · 1441 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(12)
十二、稳定化 敏捷方法的兴起对设计提出了新的要求,其最核心的一点是针对无法在项目一开始就固化的需求进行演进型的设计。在项目一开始就进行细致、准确的架构设计变得越来越难,因此,架构设计在项目的进展中被不断的改进,这相应导致了编码、测试等活动的不稳定。但是,软件最终必须是以稳定的代码形式交付的。因此,架构设计必须要经历从不稳定到稳定的过程。而架构设计能够稳定的前提就是需求的稳定。 需求冻结转载 2004-10-20 10:18:00 · 1331 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(11)
十一、Refactoring 当架构模型进行迭代的过程中,必然伴随着对模型进行修改和改进。我们如何防止对模型的修改,又如何保证对模型进行正确的改进? Context 架构模型通过精化、合并等活动之后,将会直接用于指导代码。而这个时候,往往就会暴露出一些问题出来,通常在实际编码中,发现架构存在或大或小的问题和错误,导致编码活动无法继续。这时候我们就需要对架构模型进行修改了。而架构设计的过程转载 2004-10-20 10:18:00 · 1441 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(8)
八、架构愿景 从这一篇开始,我们将会进入另一个不同的主题,和前面所讨论的模式专注于组织、过程、方法不同,以后介绍的模式更偏重于设计。但是过程、方法的影子依然在我们的讨论中隐约可见。 架构愿景是一个很简单的模式,在软件开发中所占的时间也很短。但是这并不意味着架构愿景不重要。相反,它会是设计过程不可或缺的一环。 Context 在单次的迭代开始阶段,我们已经收集好了单次迭代的需求。转载 2004-10-20 10:13:00 · 1710 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(7)
七、组合使用模式 我们已经讨论了敏捷架构设计的4种过程模式,在这一章中,我们对这四种过程模式做一个小结,并讨论4者间的关系以及体现在模式中的敏捷方法论特色。通过这一章的描述,大家能够对前面的内容有更进一步的了解。 四种模式的着重点 我把源自需求、团队设计、简单设计、迭代设计这4种过程模式归类为架构设计的第一层次,这4种模式能够确定架构设计过程的框架。这里需要对框架的含义进行澄清:架构设计转载 2004-10-20 10:10:00 · 1401 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(6)
六、迭代设计 迭代是一种软件开发的生命周期模型,在设计中应用迭代设计,我们可以得到很多的好处。 Context 在软件生命周期中,我们如何对待架构设计的发展? Problem 架构设计往往发生在细节需求尚未完成的时候进行的。因此,随着项目的进行,需求还可能细化,可能变更。原先的架构肯定会有不足或错误的地方。那么,我们应该如何对待原先的设计呢? 我们在简单设计模式中简单提到了"转载 2004-10-20 10:09:00 · 1975 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(5)
五、简单设计 XP非常强调简单的设计原则:能够用数组实现的功能决不用链表。在其它Agile方法中,简单的原则也被反复的强调。在这一章,我们就对简单性做一个全面的了解。 Context 架构应该设计到什么程度? Problem 软件的架构都是非常的复杂的,带有大量的文档和图表。开发人员花在理解架构本身上的时间甚至超出了实现架构的时间。在前面的文章中,我们提到了一些反对象牙塔式架构的转载 2004-10-20 10:08:00 · 1125 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(3)
三、源自需求 我们说,和重型方法偏重于计划、过程和中间产物不同,敏捷方法更加看重人和沟通。人和沟通永远是第一位的,而计划、过程和中间产物,那只是保证沟通、实现目标的手段。这并不是说计划、过程、中间产物不重要,只是不能够本末倒置 注:我们把中间产物定义为为了实现跨边界的沟通而制定的文档、模型、代码。例如设计文档、数据模型等。参考RUP的Artifact。 评判软件成功的标准有很多,对于敏捷转载 2004-10-20 10:05:00 · 1365 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(2)
二、架构设计的敏捷视图 通过上一章的介绍,我们对敏捷和方法有了一个大致的了解,从这一章起,我们开始对软件开发过程中架构设计的研究。记住一点,我们并不是为了架构设计而研究架构设计,我们的目的在于敏捷方法学的应用。 架构设计是一种权衡(trade-off)。一个问题总是有多种的解决方案。而我们要确定唯一的架构设计的解决方案,就意味着我们要在不同的矛盾体之间做出一个权衡。我们在设计的过程总是可以看转载 2004-10-20 10:01:00 · 1102 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(1)
一、从方法论看架构设计 方法论对软件开发而言意味着什么?我们如何看待软件开发中的方法论?方法论能够成为软件开发的救命稻草吗?在读过此文后,这些疑惑就会得到解答。 在第一篇文章中,我们来了解标题中的一些词的含义。 ·方法学是什么? ·敏捷是什么? ·为什么讨论架构? 方法论 方法论的英文为Methodology,词典中的解释为"A series of related met转载 2004-10-20 09:30:00 · 1603 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(10)
十、精化和合并 对于一个已经初步建立好的模型(分析模型或是设计模型)来说,对其进行精化和合并是必要的步骤。 Context 建立架构愿景,为架构的设计定义了主要的设计策略和实现思路。应用分层的原则则对整个的软件进行了结构上的划分,并定义了结构的不同部分的职责。而现在,我们需要对初步完成的模型进行必要的改进。 Problem 我们如何对初始架构模型进行改进? Solution转载 2004-10-20 10:15:00 · 1232 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(9)
九-- 分层 (上) 在定义了架构愿景之后,团队中的所有人员应该对待开发的软件有一定的了解了。但是,面对一个庞大的软件系统,接下来要做些什么呢?分而治之的思想是计算机领域非常重要的思想,因此我们也从这里开始入手。 要进行应用软件的设计,分层是非常重要的思想,掌握好分层的思想,设计出的软件是可以令人赏心悦目的。由于这一章的重要性和特殊性,本章的内容分为上下两节,并不采取模式描述语言的方式。转载 2004-10-20 10:14:00 · 1607 阅读 · 0 评论 -
敏捷思维-架构设计中的方法学(14)
十四、进一步阅读 敏捷架构设计一文到目前已经全部结束,由于架构设计是一个很大的话题,要在一篇文章中完全把架构设计讲清楚是很难的。因此本文的最后一个章节中提供了一组书籍和文章,这些资料都和架构设计有关,本文的写作过程也从中获益良多,故而推荐给有兴趣的读者。 Refactoring To Patterns(Joshua Kerievsky)勿庸置疑,模式是软件设计的一种有效的工具。但是在将模式和转载 2004-10-20 10:32:00 · 1369 阅读 · 0 评论