|
锁定老贴子 主题:对象,你喜欢极品装备吗?[更新]
该帖已经被评为良好帖
|
|
|---|---|
| 作者 | 正文 |
|
时间:2007-05-14 关键字: 对象包装/DDD/领域模型/对象装备
关于该思想的实现,请参照 实现对象装备模式 本来想说很多客套话的,但拿捏不好语气,该帖子主要讨论一个草根想法。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2007-05-14
睡觉了,希望明早上班这帖子还在,保佑,阿门。
(听同事说,好多人第一次法帖都被咔嚓了。。。) |
|
| 返回顶楼 | |
|
时间:2007-05-14
最近就在研究Guice,如果lz的想法能行的通的话……有点意思
|
|
| 返回顶楼 | |
|
时间:2007-05-14
是裸体模型?
MS:数据库如果还是三代的关系数据库 裸体模型就是它的逻辑结构吧。 OO是现实的模拟。。。 而不是把衣服从人身上长出来的。。。 先设计时把衣服,都作成接口 把裸体的数据库拿过来 而代码只是把衣服穿上的过程而已 PS:这个还不够良好吧。。。。 |
|
| 返回顶楼 | |
|
时间:2007-05-14
阳光晒晒 写道 是裸体模型?
MS:数据库如果还是三代的关系数据库 裸体模型就是它的逻辑结构吧。 OO是现实的模拟。。。 而不是把衣服从人身上长出来的。。。 先设计时把衣服,都作成接口 把裸体的数据库拿过来 而代码只是把衣服穿上的过程而已 有点错误引导,你的意见我理解了,但是希望其他人不要理解错了,我们是两种思路,没有必要争论。 第一,接口不是衣服,更象是对象群居的洞穴,因为衣服是一人一件的; 第二,我们不要围绕数据库设计,数据库+对象也不是自然对象,对象是有自己的行为动作的; 第三,把数据库里拿来的对象直接到服务接口,不就等于裸体上阵么,我们的思路是两种路线,我只想给对象 加一件合身的衣服,让他工作起来更方便的衣服。 |
|
| 返回顶楼 | |
|
时间:2007-05-14
给贫血的领域对象穿衣服?衣服随便换,不同的衣服不同的效果?
感觉有点太理想化了吧 |
|
| 返回顶楼 | |
|
时间:2007-05-14
引用 我只想给对象
加一件合身的衣服,让他工作起来更方便的衣服。 过度设计的味道。。。 |
|
| 返回顶楼 | |
|
时间:2007-05-14
我那句话也可以说成是:“我不想看着模型对象裸奔”
这只是自然化,不是理想化,也没有过度设计。因为我到现在还没有 掌握一种模型对象的设计模式,只知道Bean规范而已。 因为他自从DDD以来一直在裸奔。 模型对象只有结构,只能描述他该有什么,而没有描述一些不该有的 举个例子:人的年龄可以是int,因为 int是非负整数,但是自然规则 或者业务规则里,这个值不应该大于100,那好你可以说万一是101岁 的老人呢,那我可以说这个值不能大于200吧,你如果再说万一有长命 的活到300岁了,那我只能回敬你,万一有活过 65536 岁的怎么办? 难道让年龄的属性使用Long?那应该怎么办,应该有自身的限制属 性的方法,我限制他只能200,当他到200给他穿寿衣!当他穿了寿衣 代表他不在世界了,不能进行正常的业务逻辑了,符合自然法则了。 普通衣服可以约束你有两只手,不是至少而是至多(有残疾人)那么 如果是畸形,真有三头六臂,那可以给他穿特质的衣服。 以上只是为了表述我的思路,可能许多朋友没有理解,我的表达可能不够精确。说这些还是希望不要误解,谢谢! 我提到“裸体”不只是衣服,还有“装备”、“工具”、“武器”等等 总之是业务战场里会需要用到的一种“包装”。 |
|
| 返回顶楼 | |
|
时间:2007-05-14
一战士上战场。。。。
你要不要给他开一卡车军火? 用到了再加入叫TDD, 先设计好了给他四十子弹一把枪叫瀑布开发。 而你把发霉的代码重构时 向哪方面隐藏? 隐藏在pojo内就叫弃血, 向service中隐藏就是贫血。 OO设计是从前向后从上向下,贫血好设计 TDD就是从下向上,充血好改。。。 |
|
| 返回顶楼 | |
|
时间:2007-05-14
阳光晒晒 写道 一战士上战场。。。。 衣服是要放在衣橱里的,军火是在军火库里的!
你要不要给他开一卡车军火? 用到了再加入叫TDD, 先设计好了给他四十子弹一把枪叫瀑布开发。 而你把发霉的代码重构时 向哪方面隐藏? 隐藏在pojo内就叫弃血, 向service中隐藏就是贫血。 OO设计是从前向后从上向下,贫血好设计 TDD就是从下向上,充血好改。。。 不是每个士兵不带枪就要贫血; 更不是把你说的枪放在战场上; 我们先不要讨论开发方法~~ 我在想衣橱要怎么设计,怎么把衣橱里面的衣服给模型。 因为联想到GoogleGuice为什么把绑定关系的类叫做model?! 因为我感觉每种绑定组合就像是一套定制的装备,不同的 组合适用于不同的战场,至于穿的方法用AOP,不用关心装备方面 有了你就用。 |
|
| 返回顶楼 | |





