zoukankan      html  css  js  c++  java
  • 对象设计中的:贫血模式和充血模式

     其实贫血设计模式和  充血设计模式在称呼上 有点炒作之嫌

    这两个概念其实在很早以前,大家开始接受OO思想的时候 就已经开始争论的一个话题

    简而言之  :

    贫血模式  就是 一个object 中 内部的定义  只有字段和属性,以及少量关于这些字段  增删改查的方法,没有具体的业务逻辑,有点struct 的感觉。所以很多人称贫血模式的对象不算做对象,只能称之为数据结构。其实我个人持中立意见,首先在很多时候一个对象我们只关注他的属性,并不关心他的具体业务方法,比如商品。我们往往是通过订单的方法来控制商品的生命周期。另外一方面贫血模式又有点违背oo的思想。因为oo的本意是触发模式,就是发生了什么,对这个object产生了影响,随之这个object 会进行哪些行为。这一点贫血模式基本上都是将其封装到 业务逻辑层的方法中进行统一的处理的。

    充血模式:相对于贫血模式,就是将对象的业务方法也加在对象的类中。让一个对象可以有能力做很多本来属于他的职能范围内的东西。可以说是将对象注入了灵魂。所以更符合oo 的味道。记得自己在刚做iwms 时,很不适应,其中很重要的一点就是博然等人当时引入的富对象模式,就是将大量的static 方法加载到对象之中,让对象在bll层可以直接运行自身的静态方法。这一点也是在后来的学习当中认识到的,当时并不觉得这样写的好处。后来看了博然的简历,看到了充血模式,再上网查找这些,才发现了其中意义,此处感谢博然。

  • 相关阅读:
    svn客户端使用
    svn服务端搭建
    数组和链表
    旅行商算法
    大O表示法
    交互页面的一些设计规则
    正则表达式大全
    初识算法—二分法初探
    log4j配置
    品优购商城项目(二)mybatis分页插件
  • 原文地址:https://www.cnblogs.com/jilodream/p/4219818.html
Copyright © 2011-2022 走看看