java 板


LINE

※ 引述《cyclone350 (老子我最神)》之铭言: [43] : 问题来了,我待过的每一个Web专案理,都会在Action 跟 Dao 中间夹带一层 Service : 或是 manager... : 而规定几乎是 "一个Action对应一个manager" : 而 manager 所做的事,就像是把Action 的 private method 移到 manager 变成 : public method ... : 我完全找不到理由可以说明为啥要特地开一个 manager, manager的工作事项模糊不清 : 一个写在 manager 的 public method 完全可以改到自身 : Action class 的 private method : 而实际情况是,在写method时,有些程式设计师会写到 Action ,有些会写到 Manager : 这完全没有意义,假设有 10 个 method,两位程式设计师可能写完全不一样 : 例如 : 程式设计师A: 1,2,4,5,6 写到 Action, 3,7,8,9,10写到 Manager : 程式设计师B: 2,6,7,5,8,10 写到Action, 1,3,4,9写到 Manager : 我所遇到的专案就是如此,有没有人能够解释 Service 或 Manager 的必要,以及它们 : 真正存在的意义在哪里? : 苦恼很久了 : 谢谢大家看完 先说一下,我个人是没啥 Web app 开发经验的, 以前做的 project 都只是 server side 的 application, 让 Rich client 经各类 protocol 连进来 (CORBA/SOAP/RestFul WS etc). 不过就算这类 application,还是常会看到你所说的问题。我自己对那 些模糊不清的 XXXManager/ XXXService 也是很感冒。 我自己的手段是稍为不一样。 详细有点难解说,建议你去找一下 Domain Driven Design 的资料。 简单来说,在 DDD 的世界,business logic 主要就存在於 Domain Layer (通常来说就是 Entity),和平常你所见的单纯只当 Data object 的 Domain Entity (即是所谓 Anemic Model) 很不一样。 虽然在 DDD 中还是会常见所谓 Service,但一般来说只是 Application Service,绝大部份的 business logic 还是会放在 Domain Layer。 当然,DDD 并不是所有类型的 application 都合用(比如主要是各类 Report 的 app 就不太合用了),不过还是建议你去看看,当是学习另 一种思维也好。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 223.19.45.228
1F:推 cyclone350:我理解没错的话,DDD就是swpoker所描述的!? 09/02 12:56
2F:→ Killercat:? DDD = Data Driven Design 09/02 16:31
3F:→ adrianshum:DDD = Domain Driven Design 09/02 21:10
4F:→ adrianshum:另,swpoker 该篇描述的并非DDD, 甚至可说相去甚远 09/02 21:11
5F:→ swpoker:我说的DFD是早期的开发方法论~我有写过COBOL喔 09/03 11:43
6F:→ adrianshum:我知道,我只是回应 cyclone说你所描述的并非DDD而已。 09/03 23:26
7F:→ adrianshum:我也有在 AS400 写过 RPG... 09/03 23:27







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP