Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
事件溯源
Kafka消息
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
更多话题
有关手机客户端炒股软件的设计考虑
13-07-21
rayworks
各位好!本人刚接触
DDD
相关的内容,目前的工作是对先前遗留的逻辑实现与界面展现混杂的代码进行一定的调整,在实践时已经做出的工作有识别Domain Object,分离出业务逻辑。而有些实时数据信息在交易时间段需要15秒左右更新一次(目前采用简单轮询服务器的方式),所以设计上考虑作为内存中驻留的数据。
对于上述的实时数据处理仍然有以下的疑问,还请大家不吝赐教,谢谢!
1. Domain Model 数据是否可以直接与展现层相关联,如果不是,那中间需要有DM -> DTO的转换,由于更新较快且涉及大量的数据拷贝与转化处理,手持设备上性能可能受到影响;
2.为了不影响主线程展现,考虑把业务逻辑处理部分放在另外的WorkThread中进行。而对于展现层界面更新时,个人想到的是在WorkThread创建并将转换好的DTO投递到主线程队列中,然后经过界面与逻辑层的接口实现更新。不知是否有更好的处理办法。
banq
2013-07-22 13:43
2013-07-21 12:42 "@rayworks
"的内容
Domain Model 数据是否可以直接与展现层相关联 ...
当然直接关联,MVC模式的Model就是Domain Model。
rayworks
2013-07-22 19:32
@banq 感谢您的回复。
让我更清楚的解释下,如果DM直接暴露给UI,由于View所显示的数据往往与DM是不对等的。这中间势必涉及到从DM到展示数据的转化,是否有必要将DM转化为Presentation Objects直接为View所用,或是直接由View从可见的DM中取的数据自行处理。
我考虑的一点是,如果直接在View中引用到DM可能导致后续对Model的任何改动都对UI层产生了影响,也不易于后期的维护扩展。
banq
2013-07-23 07:08
2013-07-22 19:32 "@rayworks
"的内容
这中间势必涉及到从DM到展示数据的转化,是否有必要将DM转化为Presentation Objects直接为View所用, ...
从读写两个角度看这个问题,写操作也就是客户端向后端提交模型,那么这个模型肯定应该是Domain Object,如果觉得有不一致的地方,那是领域模型没有设计好。注意读了再写也属于这个范畴。
从读操作角度考虑,显示查询的数据可能是几个Domain Object的混合,你可以直接将这个几个Domain Object字段直接显示在View上,如果需要合成一个DTO也可以。
客户端资源小,临时对象太多,影响性能。
[该贴被banq于2013-07-23 07:08修改过]
rayworks
2013-07-23 08:39
@banq 谢谢大侠及时的解惑。
看来先前我是陷入定势的思维中了,现在会结合您的意见再考虑相关的设计方案。再次感谢您!