演化架构和紧急设计: 演化架构 - 编程入门网
部分)包含了一个定义日程项目语义的界面。原始的 ScheduleItem 将实现 这个界面,它还可以由 ScheduleItemForm 来实现,使得这两个类的语义总是保持一致。反过来, ScheduleItemForm 拥有 ScheduleItem 域对象的一个实例,ScheduleItemForm 的所有读值器和写值器传 递到封装的 ScheduleItem 的底层读值器和写值器。这就允许您利用 Struts 的良好特性,同时摆脱该框 架的束缚。
经验法则是:可以使框架对您有所了解,而您不可以对框架有所了解。只要您可以维持那种关系,您 就能避免把自己的代码耦合到基础设施中去,这使您能够更轻易地改变架构和设计。有时可能要多花点功 夫来完成这个任务,但是您可以拥有更好的灵活性。Struts 并不是唯一向您提供这种诱惑的框架。几乎 所有的框架都包含将您限制在框架中的帮助工具。如果您在域类中导入来自某个框架或者厂商的数据包, 那您以后就有得头疼了。 演化架构和紧急设计: 演化架构(3)时间:2011-08-18 IBM Neal Ford关于架构的考虑 除了架构的定义,典型的企业设置中还出现了各种广泛的问题。我将在这里介绍针对其中一些问题的 敏捷架构解决方法。 架构的政治 当您被提升到架构师职位时,公司政治将是您所要遇到的众多难题之一。因为架构师 基本上是公司中 最高的技术职位,您会成为 IT 部门内发生的所有决策的发言人(和辩护人),无论好坏。事实上,您还 常常要因为失败受到责备,却不会因为成功而赢得信任。一些新上任的架构师试图对这些置之不理(当您 在技术职位时这也许非常有效),但是在您的新职位这明显行不通。 请您记住在许多软件项目中,沟通比技术更为重要。如果您曾经在某个软件项目上失败过,那么请您 思考一下失败的原因:是出于某个技术 原因,还是某些沟通 问题?大部分时间,失败是因为沟通而不是 技术。技术问题有其解决方案。(有时它们很难解决,但总归有解决方案。)但社会问题就更加复杂和棘 手了。Peopleware这本书中有这样一句名言: 总是存在人的问题。 即使是您认为应该按部就班,直截了当的技术决策,也会有政治参杂其中,特别是您处于决定是否批 准购买某企业工具的职位。(从乐观的角度看,您可能有机会由某个工具厂家掏腰包打次异国情调的高尔 夫。)请记得,作为一名架构师,您不仅需要做出重要的决策,您还必须为这些决策辩护。有时和您交谈 的人有他们自己的议事日程,这些内容或许在逻辑上行不通,但是在企业政治的考验面前却行得通。不要 气馁,您要记清楚最初之所以作出这个决策的原因。 构建与购买 大公司中常出现的普遍问题之一就是决定是构建还是购买:针对现在的需求,我们是应该购买 COTS( Commercial Off-the-Shelf Software)还是自己构建?要做出此决策的动机是可以理解的 — 如果公司 可以找到一些完全符合自身需要的现成软件,这样就节约了时间和金钱。不幸的是,许多软件厂商理解这 一需求,所以编写可以定制的打包软件,如果软件不能完全符合客户的需要的话。他们意在尽力构建最通 用的软件,因为这样能适用更多的生态系统。但是越是通用,就越需要定制。所以有时即使很多顾问在, 也需要花费很多年才能完成所有的定制代码。 是否应该购买 COTS 的问题实际上归结为另一个问题:业务流程是由软件在战略上 还是经费上 支持 ?如果业务流程仅仅是经费问题,购买 COTS 就合情合理。这类软件例子包括人力资源、财务、以及其他 普通的业务流程。战略 软件在您的业务领域给您竞争优势,这个竞争优势不能轻易放弃。 避免陷阱 请记住:并不是所有的业务流程都是可定制的,它们根据业务不同而千差万别。不要轻信那些声称已 经编写了您要的业务流程的厂商。如果他们真的拥有这样的流程,他们肯定也在把这些流程卖给 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |