一个业务模型的设计(一)
来源:互联网 发布:如何在sql创建表 编辑:程序博客网 时间:2024/05/16 11:46
最近接触了一个网站,设计者将业务对象建摸为一个EntityBase为基类的SimpleEntity和ComplexEntity两类,而SimpleEntity自身拥有很多Property, ComplexEntity又由很多Profile类聚和而成,每个Profile有许多Property。最特别的,ComplexEntity与Profile对象之间的归属关系是由Profile对象的一个属性关联起来的。
对于这种设计,看起来是非常灵活,但是我个人是持保留意见的。原因有如下三点:
一、业务对象之间的复杂关系是应该尽量避免的,而此处将一个业务对象拆解成多个Profile似乎更加剧了类关系的复杂和类数量的膨胀。
二、由Profile对象的一个属性关联ComplexEntity类,而不是由ComplexEntity类直接包含Profile对象集合,这样获取整个对象(包含Profile和ComplexEntity)似乎只能通过反射,这样的话效率也许有问题(没有经过论证)。
三、将一个逻辑对象的属性分散为N个Profile对象中(经过NHibernate持久化以后,将会是N个数据表),跨Profile对象的属性查询效率可能会受到影响。
为了一些灵活性,而引起上述三个不算轻微的问题,这种设计到底如何?
- 一个业务模型的设计(一)
- 一个业务模型的设计(二)
- 系统启动/业务进程重启时,恢复业务流程的模型设计
- 面向领域的业务平台设计(一)
- 数据仓库的模型设计 A. 数据建模方法论 数据仓库模型设计遵循“自顶向下、逐步求精”的设计原则。 模型设计分为三个阶段: 1,概念模型 对业务的范围和使用,从高度上进行抽象概括,也就是划分主题域。 一
- 一个简单的线程池设计模型
- Dino Esposito: 一个领域模型的设计
- 一个一对多问题的设计模型
- Dino Esposito: 一个领域模型的设计
- 一缕阳光:DDD(领域驱动设计)应对具体业务场景,如何聚焦 Domain Model(领域模型)?
- 同步转异步+RPC的一个POS行业应用-业务模型介绍
- 系统分析设计 一个JOIN问题解决方案的感想 重视业务分析设计
- 一个简单嵌入式WEB业务应用设计
- 医院业务系统设计(一) --- 开篇
- AgileFlow的业务persistence设计
- 业务模块的设计原则
- AgileFlow的业务persistence设计
- JBPM业务存储的设计
- 我对MS CRM3.0的认识
- 一个人的战争
- 放几个我们现在整合fsstudio合作做的梦幻岛屿场景图
- 打印预览测试
- [Oracle]性能优化调整(二)--调整缓冲区高速缓存
- 一个业务模型的设计(一)
- jasperReport在linux系统下x11问题的解决办法
- 北戴河的零点,今天没有月亮
- 终于生病了
- 完美的方案
- 2006-09-20 现在流行不要脸
- [纪事]2006-09-20
- 经典SQL语句
- [Linux] 如何让linux加载当前目录的动态库