自定义软件工程公司揭开伟大架构师的秘密28548.docx
《自定义软件工程公司揭开伟大架构师的秘密28548.docx》由会员分享,可在线阅读,更多相关《自定义软件工程公司揭开伟大架构师的秘密28548.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 通行证:登录注册程序员|第二书店|博文视点 首页 新闻社区BBlogg技术中中心 .NetJJAVAA移动游戏戏管理 人才培训 被屏蔽广广告 被屏蔽广广告 被屏蔽广广告 CSDN 20006 年年编辑招招聘火热热进行中中 虚位位以待 期待你你的加盟盟! 首页 新闻 最新Bloog 最佳实践 外刊外网 产品&评测测 自定义软件件工程公公司揭开开伟大架架构师的的秘密2006.06.16被屏蔽广广告 被屏蔽广广告伟大架构师师的秘密密By Doon AAwallt aand Ricck MMcUmmberrRDAA Coorpoorattionn摘要:所有伟伟大的架架构师都都掌握了了在抽象象的不同同
2、层次上上概念化化解决方方案的技技能。通通过将解解决方案案组织到到离散的的层次,架架构师可可以专注注于解决决方案的的单个方方面而忽忽略所有有剩余的的复杂性性。展示示将抽象象层次应应用到 IT 解决方方案的技技术,并并将其与与其他工工程学科科相比较较。 本本文内容容 将抽象层次次应用到到 ITT 解决决方案 抽象层层次:所所有工程程师的强强大武器器 应用用抽象层层次时的的核心原原则 将将抽象层层次应用用到 IIT 系系统 简简单框架架:四个个抽象层层次 通通过迭代代发展层层次 重重访抽象象层次核核心原则则 扩展展层次以以支持企企业解决决方案 优点 小结 自我评评估 将抽象层次次应用到到 ITT 解
3、决决方案企企业架构构师正受受到其所所面临的的大量复复杂性的的挑战。开开发一个个能够自自动处理理企业任任务的独独立的部部门应用用程序是是一回事事。而设设计并组组成一个个支持上上万 IIT 使使用者的的满是应应用程序序、服务务器和数数据库(全全都支持持多种企企业活动动)的 IT 实验室室全球网网络,则则完全是是另外一一回事。要要组合这这些复杂杂性,IIT 网网络必须须随时可可用、响响应迅速速并保护护企业宝宝贵的信信息资产产。除所所有这些些之外,IIT 网网络还必必须足够够灵活以以支持企企业永远远变化的的需要,并并且采用用出现的的新技术术。一些些架构师师在这种种复杂性性方面明明显非常常出色,而而且在
4、不不断进步步。在我我们的职职业生涯涯中,能能与一些些真正伟伟大的分分析师和和架构师师并肩工工作是非非常幸运运的。反反思这些些经验,我我们已经经分析出出是什么么造就了了杰出的的架构师师。 无无一例外外,所有有伟大的的架构师师都掌握握了在截截然不同同的抽象象层次上上概念化化解决方方案的技技能。通通过将解解决方案案组织到到离散的的层次,架架构师可可以将精精力集中中在解决决方案的的单个方方面而忽忽略所有有剩余的的复杂性性。他们们一旦稳稳定了解解决方案案的某个个部分,接接下来就就能继续续处理其其他方面面,从而而不断地地将层次次发展并并完善到到最终可可以被实实现的粘粘合模型型中。大大多数软软件开发发人员懂
5、懂得应该该将解决决方案分分解到抽抽象层次次。但是是在实际际的项目目中,这这是非常常难于付付诸实践践的。当当遇到第第一个困困难时,在在急于开开始编码码时是很很容易放放弃这些些层次的的。伟大大的架构构师会经经受这些些挑战并并在整个个项目的的生命周周期中严严格保持持这些层层次。他他们意识识到,如如果不这这样做,最最终将淹淹没在复复杂性中中。本文文展示了了将抽象象层次应应用到 IT 解决方方案的技技术。首首先,我我们会通通过一个个简单的的示例演演示此方方法,然然后提出出一个基基于正式式抽象层层次的系系统产品品的结构构。 抽抽象层次次:所有有工程师师的强大大武器其其他的工工程学科科,比如如土木工工程师,
6、几几个世纪纪以来一一直利用用抽象层层次复制制复杂性性。让我我们学习习一下其其他更成成熟的工工程学科科是如何何应用抽抽象层次次的,就就从电子子工程师师开始吧吧,他们们设计每每次更新新换代都都变得更更加复杂杂的计算算机系统统。 硬硬件工程程师系统统设计师师使用抽抽象层次次为计算算机系统统建模。每每个层次次都是定定义完善善的,并并提供了了该系统统的一个个不同角角度。许许多系统统是在三三个主要要层次上上设计的的:系统统、子系系统和组组件,如如图 11 所示示。分层层使工程程师能够够将庞大大数量的的复杂性性集成到到一个单单一的工工作计算算机系统统中。在在其原子子部分的的层次上上确切了了解一台台计算机机是
7、不可可能的。在在单独一一块 IInteel IItanniumm_ 芯芯片上有有大约 25,0000,0000 个个晶体管管。 对对 ITT 相关关学科来来说,这这种把复复杂性分分解到抽抽象层的的方法当当然不是是惟一的的。类似似的方法法被用于于从航空空工程到到微生物物学的无无数其他他学科。应用抽象层次时的核心原则所有工程师在应用抽象层次时都遵循这套核心原则。当把抽象层次应用到软件时,这些原则也同样适用。这些层次的数量和范围是定义完善的,以便工程师能够在复杂的系统上协作,所有团队成员必须共享对层次的同一理解。只要设计师做出设计决定,他们必须将那些决定归档到相应的细节层次。 三个抽象层次定义如下:
8、图 i. 定义的的三个抽抽象层次次图 ii.抽象层层次的一一个简单单框架每每个层次次内的多多个视图图一个单单个层次次内的复复杂性可可以变得得非常多多,以至至于使人人无法一一次全部部掌握。在在这种情情况下,工工程师通通过多个个视图将将设计展展现于单单个层次次内。每每个视图图展现设设计的一一个单独独方面,但但保持在在相同的的抽象层层次上。举举例来说说,母板板工程师师为板的的每个层层创建一一个视图图,从而而为每层层的连接接路径的的设计建建模。 图 1. 计算机机系统的的抽象层层次必须须保持层层次间的的一致性性为了让让系统按按预期方方式运行行,每个个后续的的层必须须是其父父层的适适当改进进。如果果计算
9、机机系统设设计师从从 IDDE 总总线切换换到 SSCSII 总线线,那么么所有设设备的接接口规范范也必须须切换到到 SCCSI。如如果层次次没有同同步,那那么系统统就不会会按预期期方式在在顶层执执行。将将抽象层层次应用用到 IIT 系系统既然然我们已已经分析析了其他他学科是是如何应应用抽象象层次的的,现在在就让我我们将此此技术应应用于 IT 解决方方案1。下下列部分分展示了了应用抽抽象层次次为典型型 ITT 应用用程序的的需求、设设计和实实现建模模的技术术。这些些技术是是通过一一个针对对假想零零售商的的简单的的、指导导性的在在线定单单系统示示例来展展示的。在在我们的的示例中中,我们们不仅包包
10、括了体体系结构构,而且且扩展了了范围以以包括系系统需求求和业务务环境 如如同由零零售业所所定义的的。简单单框架:四个抽抽象层次次我们的的简单示示例定义义 ITT 解决决方案的的如下四四个抽象象层次: 域 业务务处理 逻逻辑 物理理 在每个层次次内,我我们既展展示了该该特定层层次行为为的动态态视图,又又展示了了其静态态视图。动动态视图图为对象象之间的的消息建建模,而而静态视视图为对对象之间间的结构构和关系系建模。 域抽象象层次应应用了上上面的范范围规则则,零售售商就会会作为域域层次中中的黑盒盒子中心心的演员员。客户户作为外外部的演演员。域域层次是是从客户户的角度度来建模模的。只只为购买买交互建建
11、模。用用于完成成购买的的通讯形形式不包包括在这这个层次次,但是是会在业业务处理理层次引引入。图 2. 关于从从零售商商处购买买物品的的域层次次动态视视图图 3. 关于从从零售商商处购买买物品的的域层次次静态视视图动态态视图域域层次内内的动态态视图为为客户和和零售商商之间的的交互建建模。下下图汇总总了域环环境,并并包含了了简单的的业务交交互使用用案例描描述。图 4. 关于从从零售商商处购买买物品的的业务处处理层次次动态视视图静态态视图域域层次的的静态视视图为类类结构和和在使用用案例中中出现的的它们的的对象的的关系建建模。换换句话说说,它说说明了在在这个抽抽象层次次上,为为了完成成购买交交易客户户
12、需要了了解什么么对象。 图 55 展示示了域层层次静态态视图的的类关系系图。图 5. 关于从从零售商商处购买买物品的的业务处处理层次次静态视视图客户户是 PPersson 的实例例。客户户和零售售商之间间的关系系被具体体化为 Acccounnt。所所有的 Purrchaase 都与客客户的 Acccounnt 相相关。PPurcchasse 与与每个被被购买的的 Ittem 相关。每每个 IItemm 都与与特定的的 Prroduuct 相关,这这里 PProdductt 遵循循元类模模式。PProdductt 的实实例实际际上本身身就是类类。将其其他 PProdductt 添加加到 CCat
13、aalogg 完全全是一个个数据驱驱动过程程,而且且不会对对类模型型产生影影响,因因此将 Prooducct 建建模为一一个元类类会使我我们的模模型更加加灵活。围围绕这些些类,每每个 PPaymmentt 都与与其 PPurcchasse 相相关。如如您可能能看到的的,这个个层次的的模型对对大多数数零售商商(无论论类型为为在线或或传统,大大型或小小型)来来说是有有代表性性的。这这说明了了为什么么 IInduustrry 域模型型确实应应该将公公司定义义为黑盒盒子中心心的演员员。同一一个行业业中的公公司倾向向于支持持带有其其外部演演员的同同一套业业务交互互。此外外,域模模型排除除了公司司的特定定
14、业务处处理,这这是因为为在同一一行业中中的公司司之间它它们会有有相当大大的变化化。 域域层次严严格集中中在从外外部演员员的角度度看到的的业务交交互。对对此我们们必须注注意,不不要将用用于完成成交互的的实现机机制包括括进来。这这些细节节属于下下一个抽抽象层次次。因此此,在本本例中,我我们只为为浏览、选选择、购购买和支支付建模模。我们们不为如如何完成成这些交交互(通通过电话话、美国国邮政、电电子邮件件、Weeb 应应用程序序、亲自自前往、支支票、信信用卡或或现金)建建模。业业务处理理抽象层层次 下下一个抽抽象层次次为公司司的业务务处理建建模,以以实现在在域层次次捕获的的交互。系系统层次次内部部缩放
15、公司的的黑盒子子,并标标识为完完成业务务交易而而协作的的所有员员工和系系统。在在这个层层次,要要开发的的系统作作为黑盒盒子中心心的演员员。 应应用了系系统层次次的范围围规则,在在线定单单系统就就作为黑黑盒子中中心的演演员。客客户和员员工作为为外部演演员。系系统层次次是从客客户和员员工的角角度来建建模的。客客户在线线执行购购买。支支付是通通过信用用卡完成成的。通通过将物物品运送送到客户户的收货货地址履履行定单单。出货货通知是是由电子子邮件发发送的。 动态视视图动态态视图重重演了域域层次购购买交易易,这次次公开了了零售商商的内部部业务处处理。图图 4 汇总了了业务处处理环境境,并包包含了关关于系统
16、统及其演演员之间间的交互互的简单单使用案案例描述述。静态态视图这这个层次次的静态态视图对对类模型型做了改改进,以以捕获在在业务处处理层次次使用案案例中出出现的对对象。换换句话说说,为为了在线线创建一一个定单单并履行行该定单单,客户户和雇员员需要理理解哪些些对象?图 5 展展示了业业务处理理层次静静态视图图的类关关系图。我我们修改改域类模模型以捕捕获在这这个抽象象层次上上的角度度。Peersoon、AAccoountt 和 Commpanny 抽抽象保持持不变,CCataalogg 和 Prooducct 也也一样。但但是,用用 Orrderr 替换换了来自自域模型型的抽象象 Puurchhas
17、ee 事件件。Orrderr 包括括 LiineIItemm,它与与 Caatallog 中的 Prooducct 相相关联。因因为这个个层次为为公司的的内部业业务处理理建模,所所以我们们需要获获得现有有的库存存(最小小库存单单元 (SKUU) 的的一个属属性,它它表示在在一个特特定位置置的物品品的库存存)。我我们也为为客户的的 UsserAAccoountt 建模模,它提提供对在在线系统统的访问问。Paaymeent 是通过过使用 CreedittCarrdAcccouunt 来完成成的。LLocaatioon 代代表美国国的一个个地理位位置,它它作为账账单邮寄寄地址,同同时也作作为 OOr
18、deer 的的收货地地址。SShippmennt 包包含 SShippmennt 中中包括的的 Ittem。 我们在在系统抽抽象层次次创造方方法来简简化业务务处理,因因此该层层次通常常需要很很多创造造力。为为此,通通常使用用业务处处理层次次上的若若干不同同形式来来实现单单个域层层次交易易。举例例来说,一一次购买买可以通通过在线线、电话话、邮件件、传真真一个定定单表格格或者亲亲自到零零售店来来完成。对对于每一一种形式式,都需需要在业业务处理理层次为为其建模模。请注注意,尽尽管对零零售商来来说 CCreddit Autthorrizeer 是是一个外外部演员员,但是是它还是是在这个个层次引引入,这
19、这是因为为只需要要它实现现在该层层次首次次出现的的业务处处理。 最后,请请注意该该系统是是技术独独立的。我我们的在在线购买买系统可可以用任任何 WWeb 技术实实现。在在系统黑黑盒子内内选择技技术是一一个体系系结构决决策。 逻辑抽抽象层次次逻辑层层在系统统黑盒子子内缩放放,从而而公开高高级别的的系统设设计。架架构师选选择技术术并定义义高级系系统结构构。在我我们的简简单示例例中,系系统是由由承载表表示层、业业务层和和数据访访问层的的 Miicroosofft IIIS/Miccrossoftt ASSP.NNET 服务器器和承载载持久性性数据的的 Miicroosofft SSQL Serrve
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自定义 软件工程 公司 揭开 伟大 架构 秘密 28548
限制150内