模式复用
模式复用指的是利用已被反复实践的规则解决通用性问题。它常常被描述为一个单独的类对象当通常的情况下一种模式包含一到五个类。模式的复用的思想是将复用代码背后的思想进行了抽象从而形成一种应用规则。它是一种高层次的复用机制,其生存期远远超过了描述它的语言甚至是规范它的面向对象思想。
联络点模式是我在Building Object Application 一书中所描述一类问题的解决规则。利用通用建模语言建立的联络点模型展示了对机构之间的联络方式进行分组的通用解决规则。
模式使用的场景描述了你的组织在与客户,雇员以及供应商进行交互时所使用的联系方式例如e-mail,普通邮件地址,电话等,都可以被看作一种联系方式,因此联络点模式增加了应用程序的灵活性。利用联络点模式你不仅可以使用邮递将发票送给客户,还有电邮和传真的方式可以使用。同样你可以利用英特网代替普通邮件为你的客户送上需要的视频信息。联络点模式很好的满足了上述的情况,我也在很多的项目中实际运用了该模式。模式复用提供了更高层次的复用和跨平台,跨语言的特性。模式将众多复杂问题的解决思想进行了抽象,使得模式的使用增强了应用程序的可维护性。但模式复用并不是一劳永逸的工具,我们仍需要自己在项目中去实现它。
领域组件复用
领域组件复用主要涉及到确立和开发大范围的可复用性商业组件。某个领域方面的组件常常是一系列关系紧密,完成具体功能的商业对象组合。通过对电信企业某个商业组件的描述图可以看出,每个组件都是包含了多个类对象的功能聚合体。例如,服务提供组件包含了100多个类对象,其功能涉及长途电话业务,有线电视业务和互联网服务业务等。领域模型的初始化确立是指以架构驱动为基础来管理应用程序的建模,修改和补充。
领域组件的复用性具有很大的潜力,主要表现在大量已有的,关系紧密的商业功能在许多的应用程序中都会用到。任何领域对象都应该被设计为可重用的,因为领域对象可以高效的融入商业功能中并为今后的管理和重用提供了基础。
令人高兴的是我们可以将上述几种复用方式结合在一起使用。可以肯定是,框架级别的复用性要求将关注点放在框架结构,规定以及针对性的培训上,但是我们同样可以享受其它重用方式带来的好处。项目产出物和组件级别的重用是非常容易实践的,只要花费少许时间我们就能发现许多可重用的东西。
模版复用同样可以从网上获取相应的资源,但这里有所不同的是如果我们的机构没有形成一个很好的处理流程的话,那么模版复用的所带来的好处将会大打折扣。继承和模式复用都是需要建模时期考虑的,如果要在实际项目中使用它们是需要花费时间学习的。
回到现实中来,我会用项目产出物复用和组件复用的思想来培训相关的架构师,并在适当的时候引入继承复用和模式复用或是实现基于架构驱动的领域组件复用。还有一点就是要相信我们的开发人员,他们可以处理好代码级的复用。(全文完)