博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
避免标准数据模型
阅读量:5882 次
发布时间:2019-06-19

本文共 881 字,大约阅读时间需要 2 分钟。

将企业软件中进行数据交换的业务对象,例如客户、订单或产品等常规模型进行标准化,让它们包含所有属性与关联信息,这种做法看上去似乎是一种吸引人的目标,但在看来,这种方式将产生(Canonical Data Model - CDM),这是一种十分糟糕的做法,他强烈。

\\

是innoQ的联合创造人兼首席顾问,在他多年的经验中,无数次地看到各个软件组织是怎样基于错误的假设而进行工作的。他同时表示, 他所定义的CDM这种模型会使得组织必须进行大量的会议、并且需要所有相关人员参与协作。通常来说,这种方式所产生的模型中包含了大量的可选属性,以及为了满足所有系统对该模型的不同需求和制约而编写的各种奇怪行为。

\\

为了避免产生这种模型,Tilkov推荐的方式是使用,这个概念来自于(DDD)。它是想法是将一个巨大的模型划分为多个小的上下文,因此在不同上下文中的业务对象可以根据每个上下文的不同需求,采取不同的建模方式。他同时强调,这一点不仅对于大型系统来说非常重要,对于企业范围的架构来说更是至关紧要,因为每个系统都具有不同的需求,应当根据各自的需求不同进行相应的设计。

\\

对于那些仍然以CDM为目标的组织,Tilkov提供了一些指南,以应对各种可能出现的问题:

\\
  • 允许在系统中使用独立的特定模型,可以由不同的团队定义模型中的不同部分。\\t
  • 对模型格式进行标准化,并创建结构小于业务对象的构建块,而不是一个巨大的、一致的模型,因此多个团队可以按照他们的需求共同添加这些构建块。\\t
  • 不要将模型强行推给团队,如果团队认为在他们的上下文中使用这个模型能够带来某些价值,让团队自己选择将该模型引入。\

在Tilkov看来,企业架构师应当避免集中式的模型与CDM,而应当尽量将整体性的内容减至最低,将大部分职责交给团队本身及团队中的成员。

\\

在2008年,Bill Poole在一篇文章中从SOA的角度对与模型进行了对比。在他看来,集中式的模型中存在着许多缺点,从他的自身经验来看,他更倾向于使用非集中式的模型,这一观点也引起了人们的一些。

\\

查看英文原文:

转载地址:http://ryvix.baihongyu.com/

你可能感兴趣的文章
知行合一
查看>>
jmeter插件之jsonpath提取响应结果和做断言
查看>>
发布支持多线程的PowerShell模块 —— MultiThreadTaskRunner
查看>>
Ubuntu ctrl+alt会导致窗口还原的问题
查看>>
第四十期百度技术沙龙笔记整理
查看>>
推荐系统那点事 —— 基于Spark MLlib的特征选择
查看>>
linux 下RTL8723/RTL8188调试记录(命令行)【转】
查看>>
SpringMVC案例1——对User表进行CRUD操作
查看>>
[Contiki系列论文之1]Contiki——为微传感器网络而生的轻量级的、灵活的操作系统...
查看>>
Android 网络编程 记录
查看>>
微软同步发行Windows 10和Windows 10 Mobile系统更新
查看>>
Zeppelin的入门使用系列之使用Zeppelin运行shell命令(二)
查看>>
form表单下的button按钮会自动提交表单的问题
查看>>
那些年追过的......写过的技术博客
查看>>
python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
查看>>
C# 解决窗体闪烁
查看>>
CSS魔法堂:Transition就这么好玩
查看>>
【OpenStack】network相关知识学习
查看>>
centos 7下独立的python 2.7环境安装
查看>>
[日常] 算法-单链表的创建
查看>>