当前位置: 首页 > news >正文

物流如何做网站在哪查询网站做的哪些外链

物流如何做网站,在哪查询网站做的哪些外链,企业为什么要做网站,网站关键词查询网址原文关于贫血模型的讨论几乎没有停止过,在openfans.org的开发过程中,我们也讨论了很久,我觉的有很多东西应该记下来:明确一下意思先:DAO:数据操作对象,会操作数据库持久层:能提供对象持久化服务的一系列组件或服务领域对象:描述领域模型的对象,是通过业务分析进行系…原文关于贫血模型的讨论几乎没有停止过,在openfans.org的开发过程中,我们也讨论了很久,我觉的有很多东西应该记下来:明确一下意思先:DAO:数据操作对象,会操作数据库持久层:能提供对象持久化服务的一系列组件或服务领域对象:描述领域模型的对象,是通过业务分析进行系统建模的产物贫血模型:就是domainobject只有属性的getter/setter方法的纯数据类所有的业务逻辑完全由一个所谓的Manager来完成(又称TransactionScript)这种模型下的domain object被Martin Fowler称之为“贫血的domainobject”常见的类基本结构如下:一个业务数据类叫做Item一个DAO接口类叫做ItemDao一个DAO接口实现类叫做ItemDaoHibernateImpl一个业务逻辑类叫做ItemManager(或者叫做ItemService).观察上面的几个类很容易发现问题:1:Item和ItemManager实际是操作与数据的关系,实际完成的就是经典OO中的一个对象的能力;2:当有许多Item时 类组变得很庞大,产生很多 xxxDao xxxImpl xxxManager 其中包含大量重复代码;按的观点,上述代码存在以下臭味:1:重复的代码   xxxDao xxxImpl xxxManager(通常)2:霰弹式修改一个变化影响多个类,类之间不够高内聚 item变化--Dao,Impl,Manager均要变动3:依恋情结,两个类之间互相作用过多 itemManager4:平行继承体系,当增加一个新类时总是要增加另一个类5:夸夸其谈未来性,在没有任何暗示的情况下考虑扩展  Dao,实际HibernateImpl可能n年内是唯一的Dao实现6:纯稚的数据类只有数据的类  item我觉的 贫血模型 是系统分析设计方向性错误的产物:1:没有进行领域建模---以数据表结构为中心,而不是业务模型为中心的思考方式,使设计人员选择Item为考虑问题的出发点2:将DAO与持久层混淆---我们需要的一种持久化服务,DAO紧紧是提供数据操作能力而已,Hibernate是一种高级的服务(他已经包含了DAO,而不是相反),已经完成了所有的持久层服务.3:过于强调低偶合---将一些本来一些提供单一职责的内容分散在多个单元中使 客户端 依赖更多的接口,而忘记了高内聚原则.4:Spring的能力限制---由于Spring现阶段不支持对于领域模型的服务注入,使设计人员将操作和数据分开,并将领域变为DataOnly的.(Spring2.0将在很大程度上解决这个问题)我认为良好的解决方案:首先领域建模,建立领域模型--合并前面所说的Item和ItemManager成为 domainItem;对于数据库服务,1:如果考虑领域层包含数据操作能力,则建立DAO并选择其它好的DAO方案比如IBATIS或Hibernate之类的组件;2:如果考虑将数据库(或其他存储界质)存储考虑在领域之外成为持久层,a:则或者对持久层框架同时建模,同时选择合适的组件为持久层服务提供存储服务(包括DAO--亦可选择IBATIS/Hibernate组件),b:或者直接使用Hibernate/JDO等框架实现持久化服务,领域层直接使用持久层服务,对领域对象进行持久化和反持久化(从持久层获取以持久化的对象).其他:实际上,作为一种解决方案,所谓贫血模型的具体使用,并不会有太大的问题,尤其是使用一些代码生成工具或已经做好相应的基本框架时,很多软件的核心价值都在于对客户提供的服务,而其内部则成为黑盒,我们只要合理的解决业务问题,就是王道了,对于代码的臭味,可以慢慢重构--这也需要成本呀.再其他:有人说,我们的业务就是CRUD,领域模型只有数据类就足够了.我觉的这是搞错了方向------只有CRUD时,只有处理CRUD的那些类才有必要进行建模(他们才是领域模型),而所谓的User\Item等数据类则完全没有必要进行建模,更不要谈领域了.贫血之外:实际上,软件\OO方法的外延大的很,更多问题与数据库存储无关(但也有贫血问题),所以建模才是根本,OO方法的原则才是我们必须掌握的.posted on 2006-04-10 22:21 兼听则明 阅读(6312) 评论(4)  编辑  收藏 所属分类: oo评论# re: DAO-持久层-领域对象-贫血模型2006-04-11 01:30mixlee典型的滥用接口  回复  更多评论# re: DAO-持久层-领域对象-贫血模型2007-10-20 13:02邓英妥不敢苟同楼主的观点  回复  更多评论# re: DAO-持久层-领域对象-贫血模型2008-10-20 17:40mojie合并前面所说的Item和ItemManager成为 domainItem,我认为贫血可以使,层次更清晰 ,便于模型维护  回复  更多评论# re: DAO-持久层-领域对象-贫血模型[未登录]2015-04-15 20:10喔喔同样不敢沟通楼主观点  回复  更多评论
http://www.pierceye.com/news/239319/

相关文章:

  • 上海注册汽车租赁公司网站模板对seo的影响
  • 上海松江做网站公司wordpress 网站暂停
  • 太仓苏州网站建设网站的规划与建设课程设计
  • 遵义住房城乡建设厅网站电子商务网店毕业设计
  • 惠州市博罗县建设局网站防静电产品东莞网站建设技术支持
  • 茂名整站优化百度一下 你知道首页
  • 郑州网站微信微博维护品牌网站建设流程图
  • 网站建站销售怎么做做门窗安装去哪些网站找生意
  • 太原建站司点击查看荆州网站开发
  • 个人音乐网站开发宁波网站推广工作室电话
  • 建设部网站 造价工程师wordpress忘了秘密
  • 如何分析一个网站建设策划案湖南网络推广公司大全
  • 惠州市建设工程交易中心网站如何制作网页导航栏
  • 保山网站建设哪家好做led视频好的网站
  • 如何利用网站策划做好网站建设申请域名要多少钱
  • 专业做公司logo的网站谷歌网站推广方案
  • 公司网站建设情况说明网站开发用php好吗
  • 网站做关键词库的作用空间怎么做网站
  • 制作网站公司名称网络营销与策划实践报告
  • 哈尔滨手机网站建设价格低长沙网业公司
  • 如皋网站建设公司网站推广优化排名
  • 行业网站方案网站搭建合同
  • 如何用ps做网站图标吉林省长春市建设局网站
  • 北京高端网站建设服务广州百度快速排名优化
  • 电子商务网站开发课程设计网站建设石家庄
  • 好的公司网站有什么用烟台建设集团招聘信息网站
  • 网站制作需要多长时间网站代建设费用
  • 淘宝客网站设计台州建设银行官方网站
  • 婚纱网站建设规划书2023全国企业公司大黄页
  • 网站seo的关键词排名怎么做的wordpress 在线留言