论坛首页 Java企业应用论坛

贫血模型or充血模型新的解决办法

浏览 15286 次
精华帖 (1) :: 良好帖 (8) :: 新手帖 (0) :: 隐藏帖 (7)
作者 正文
   发表时间:2011-09-08   最后修改:2011-09-08
只是两种不同的模型,代表了两种设计思想,不存在什么解不解决的问题。
如此误人子弟,不隐藏才怪。
0 请登录后投票
   发表时间:2011-09-08  
mistbow 写道
晕了 这都隐藏 下回是没分发帖子了 谁能给我个理由为什么隐藏啊 以后我好改改啊

你发错区了吧。。。。这不是java编程啊。。
0 请登录后投票
   发表时间:2011-09-08  
不管怎样,楼主的思路还是很有启发的!
0 请登录后投票
   发表时间:2011-09-08  
程序不太懂,但是写的不错
We always do class oriented programming but object oriented programming .
0 请登录后投票
   发表时间:2011-09-08  
没看懂这个RUBY例子到底有啥好处
传了两个对象进去,然后调用了一下方法··
搞了一堆名词···

    class Account 
      def initialize(username, money) 
        @username = username 
        @money = money 
      end 
      
        def get_money(amount) 
    @money += amount 
  end 

      def get_money 
        @money 
      end 
    end 

    gfc_account, lh_account = Account.new("gfc", 3000), Account.new("lh", 2000) 
     
    puts "****工资上交中****" 
    puts "余额为:" + gfc_account.get_money(3000).to_s 
    puts "***************" 
    puts "余额为:" + lh_account.get_money(-3000).to_s 
    puts "****上交完成****" 

没学过RUBY 照猫画虎弄的·····

现在很多技术问题都跟那些成功学似的 捏造一个概念然后生造一些例子
例如什么温水青蛙 猴子香蕉什么的

例如这个例子 我理解是玩得是一个类似动态继承的概念
是蛮有趣的

这个例子本身就木这么多事 生拆一堆类 然后再整半天··
就像以前那种麦肯锡之类的公司
转账本身不是账户的动作 账户不会转账 账户只有钱多钱少
0 请登录后投票
   发表时间:2011-09-08  
估计是因为这里Java的比较多所以才会被埋吧?思想挺好,后面写了一大堆不容易看懂的代码。
0 请登录后投票
   发表时间:2011-09-08  
嗯,DDD领域模型对于职责的划分是有了明确的定义。
当然你的例子不是很准确,比哪人当发单员和收单员,当然是不同的角色,这个和学生和子女一样吧,不同的场景。
还有一点MVC中的model的理解上还有问题,模型应该指的是数据吧.
0 请登录后投票
   发表时间:2011-09-08  
jdon很早就引入DCI讨论,也用过java写过,尽管不太优雅。java的mixin可以实现。

DCI是对DDD的修正,DDD中纯领域概念仍然可用,只是领域内的划分各不相同。

“We always do class oriented programming but object oriented programming . ”

class和object是共性和个性的体现,在特定领域内某些概念是比较稳定可以在class中绑定,个性是领域中的个性,是在object时注入。
0 请登录后投票
   发表时间:2011-09-08  
简单问题复杂化,哎!
0 请登录后投票
   发表时间:2011-09-08  
TransferContext 这个感觉就像是DDD中的服务,因为转账不是Account的职责。Account的职责是只对它里面的钱进行+、-操作。而TransferContext正是来协调这两个操作的。在这个例子中使用DIC感觉不太直观。因为+、-这两个是职责而不是角色。从一开始举的人的例子来看,不管是学生还是子女本质上都是个,所以可以继承人。但问题又来了在人这个类中或者说是接口中不是还有一大堆的操作吗。要兼顾学生还有子女。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics