`
fireflyjava
  • 浏览: 186322 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

减少贫血的domain object

阅读更多
今天在javaeye中看到关于domain object的讨论
http://www.iteye.com/topic/11712
想想自己是怎么实现的!我用的是ajax技术,看到一般的ajax都是直接调用service层的方法,而我在一个项目中调用的是opration层的方法,其实真实意义上是平时所说的逻辑层,通过自己写的一个反射机制的portal入口类来实现!
在service层增加一个baseService 来实现基础类的CRUB,同时在DAO层也增加baseDAO,这样可以减少Martin Fowler称之为“贫血的domain object”。在opration中实现业务逻辑,由于业务逻辑基本上都是CRUB操作,所以基本上baseService可以满足了;如果不能满足,可是继续baseService进行实现.
opration(buisness)->service->serviceImpl->DAO->DAOImpl
DAO层: BaseDAO BaseDAOImpl
Service层: BaseService BaseServiceImpl
opration层:Oopration
分享到:
评论

相关推荐

    失血贫血充血胀血模型.docx

    失血模型是一种软件设计模式,其中领域对象(Domain Object)仅包含数据字段的getter和setter方法,不包含任何业务逻辑。这种设计将业务规则和操作完全分离到独立的服务或管理类中,通常称为Transaction Script。在...

    Wrox - .NET Domain-Driven Design with C# (Apr 2008)

    8. **贫血模型与富领域模型**:贫血模型的业务逻辑主要存在于服务层,而富领域模型将业务逻辑封装在领域对象内,更符合DDD的原则。 9. **边界上下文**:DDD中用于定义不同子域的边界,每个子域都有自己的语言和模型...

    基于struts2 spring2.5 hibernate3的人事管理系统 源码完整包

    这个系统利用了贫血模型(Anemic Domain Model)来实现DAO层,旨在提供高效、稳定且易于维护的企业级解决方案。 首先,Struts2是一个强大的MVC(Model-View-Controller)框架,它负责处理HTTP请求,并将这些请求...

    领域模型设计技术实战篇.docx

    - 采用领域驱动设计的实践,比如贫血模型(Anemic Domain Model)和富领域模型(Rich Domain Model),以及Repository模式来管理领域对象。 通过上述分析,我们可以看到领域模型设计的关键在于理解业务逻辑,将其...

    领域模型驱动设计1553265830.pdf

    - 充血模型则是将大部分的业务逻辑和持久化逻辑放在了DomainObject(领域对象)内,而BusinessLogic层仅用于封装部分业务逻辑以及控制事务、权限等。充血模型将业务逻辑和数据封装在一起,更符合面向对象设计的原则...

    EJB设计模式

    12. **贫血模型和富模型(Anemic Domain Model and Rich Domain Model)** 贫血模型将业务逻辑放在服务层,而模型对象仅包含数据。富模型则将业务逻辑内聚到域对象中,提高代码的封装性和可维护性。 通过理解和...

    Service层和DAO层解析

    领域驱动设计(Domain-Driven Design,DDD)中提到的“贫血模型”或“富模型”也是值得考虑的问题,即领域对象是否应该包含业务逻辑。前者通常是简单的JavaBean,后者则包含了更多的业务行为。 总的来说,Service层...

    部分文献翻译资料,参考用

    1. **领域模型**:DDD中的核心概念是领域模型,它是一个业务规则和逻辑的抽象表示,包括实体(Entity)、值对象(Value Object)、聚合(Aggregate)、领域事件(Domain Event)等。实体是具有唯一标识的对象,值...

    领域驱动设计学习总结(一)

    领域模型反映了业务专家和开发人员对业务的理解,包括实体(Entity)、值对象(Value Object)、聚合(Aggregate)、领域服务(Domain Service)等元素。 2. **限界上下文(Bounded Context)**:限界上下文是DDD中...

    WPF中MVVM模式原理分析与实践

    - **解决现实世界的问题**:在开发过程中,开发者需要将现实世界中的实体抽象成模型,即Domain Object。这些模型可以是简单的数据载体(贫血模型),也可以包含业务逻辑(富血模型)。无论哪种形式,模型都无法直接...

    EJB资料文档

    - **设计模式**:EJB与设计模式结合,如贫血模型(Anemic Domain Model)、领域驱动设计(Domain-Driven Design)等,提升代码的可维护性和可扩展性。 - **测试策略**:单元测试和集成测试在EJB开发中至关重要,...

    充血模型设想实现(2010/07/30更新)

    这个模型与贫血模型相对,后者通常由无行为的POJO(Plain Old Java Object)或DTO(Data Transfer Object)组成,业务逻辑被分离到服务层。 在2010年的更新中,博主可能讨论了如何在实际项目中应用充血模型,可能...

    领域驱动设计在互联网业务开发中的实践

    2. **值对象(Value Object)**:关注于数据的完整性,例如地址、颜色。 3. **领域事件(Domain Event)**:记录业务过程中的关键事件,可用于异步处理和解耦。 4. **聚合(Aggregate)**:一组相关对象的集合,维护...

    struts2项目

    11. **最佳实践**:在实际项目中,应遵循一些最佳实践,例如避免在Action类中使用静态变量,使用贫血模型(Anemic Domain Model)来分离业务逻辑,以及充分利用拦截器来封装共性功能。 12. **安全性**:Struts2的...

    aip-Postalotta:单位分配

    DTO用于在不同层次之间传递数据,它是贫血模型架构中的常见组成部分。在本项目中,DTO可能是为了在业务逻辑层和表示层之间传递数据而创建的对象,避免了直接暴露领域模型,提高了代码的可维护性和灵活性。 **领域...

    money:GoLang Money库使使用钱更安全,更轻松,更有趣!

    - 无依赖- 无贫血模型- JSON 格式化程序- SQL 驱动程序- 本地化格式化程序货币价值对象“如果我每次看到有人使用 FLOAT 存储货币时我都有一角钱,我就会有 999.997634 美元” ——简而言之:您不应该用浮点数表示...

Global site tag (gtag.js) - Google Analytics