`
chang_ytao
  • 浏览: 26136 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

也谈系统内的阻抗不匹配

阅读更多
也谈系统内的阻抗不匹配

最近在做可视化模板构件,引入的一些概念,在团队内部引起了一定的混乱。其中最主要的问题就是层次的划分以及各个层次间对象的阻抗不匹配问题。整个构架的典型分层施Templet(展现层)BOM(业务对象模型层)Java Business Entity(业务实体、处于业务逻辑层)DB Table(数据操作层)。Java Object和DB Table之间,Templet和Java Object之间存在的阻抗不匹配问题大家遇到的比较多,两两之间的差异性也比较明显,问题主要出现在BOM和Java Object之间的阻抗不匹配上。
从字面上看BOM是业务对象模型,Java Business Entit代表的也是业务对象,怎么会存在阻抗不匹配问题呢?其实两者是存在微妙的区别的,BOM是从业务的角度来描述,业务对象应该具有什么属性和方法,而Java Business Entity是从技术的角度来描述,两者角度不同,也就决定了存在细微的差别。其相关的差异可以通过下图来识别:

   “图参见附件”

上图中左边是BOM,包括对公客户和个人客户。其中对公客户“所属行业、区域、规模、注册资本”在右边的客户中没有出现,替代的是“扩展属性(Map)”,扩展属性本身是个Map接口,可以用于存储大量的某种类型Party所特有的属性。这样通过一个Java对象可以适应任何类型的客户需求。
从上图中,很容易的就可以看出两者之间是存在阻抗不匹配的问题。从这个事情也想到:“任何事物之间,只要出现沟通和交流,就会出现阻抗不匹配问题”,这应该是世界的普遍规律吧。
  • 大小: 5.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics