1.贫血模型
package cn.com.lrs.model;
public class User {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
2.充血模型(就是多了exists()之类的方法)
package cn.com.lrs.model;
import cn.com.lrs.service.UserManager;
public class User {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public boolean exists() throws Exception {
return new UserManager().exists(this);
}
}
分享到:
相关推荐
贫血模型可以看作是失血模型的一种变体,也是将数据模型和业务逻辑分离,但领域对象可能会包含一些基本的数据验证逻辑。与失血模型相比,贫血模型的领域对象稍有"血色",但仍然缺乏复杂的行为。 优点: 1. 简单明了...
这个模型与贫血模型相对,后者通常由无行为的POJO(Plain Old Java Object)或DTO(Data Transfer Object)组成,业务逻辑被分离到服务层。 在2010年的更新中,博主可能讨论了如何在实际项目中应用充血模型,可能...
在Asp.net开发中,"充血模型"是一种提倡领域对象拥有丰富行为和业务逻辑的设计模式,相对应于传统的"贫血模型"。"贫血模型"通常将数据模型、业务逻辑和数据访问分离,使得领域对象仅包含属性,而业务逻辑和数据操作...
在传统的贫血模型中,领域对象通常只包含数据,而业务逻辑则分散在服务层或其他地方。然而,在充血模型中,领域对象不仅包含了数据,还封装了大量的业务逻辑。这种方法使得领域模型更加生动且有力量,因为它们可以...
领域模型可以分为失血模型、贫血模型和充血模型三种类型。 失血模型 失血模型是基于数据库的领域设计方式,它指的是使用 POJO 数据对象来存储业务数据。在失血模型中,业务逻辑是分散的,分布在多个地方。 贫血...
领域驱动设计中的领域模型包括充血模型和贫血模型两种不同的建模方式。贫血模型主要存在于传统分层架构中,其特点是实体类中几乎没有业务逻辑,主要通过getter和setter方法来访问属性。这种模式下,业务逻辑分散在...
为了解决贫血模型的问题,文档可能接下来会介绍充血模型(Bloated Model),在这种模型中,实体类不仅包含数据,还包含与其相关的业务逻辑。这样,实体自身就能处理状态变更,增强了代码的内聚性,降低了服务层的复杂...
3. **代码结构**:手册推荐采用模块化、分层设计,如贫血模型(贫血模型:业务逻辑集中在Service层,DAO层只负责数据存取)和充血模型(充血模型:业务逻辑分散在实体类中)。 4. **异常处理**:异常处理是程序稳定...
在设计上,可能采用贫血模型或充血模型,根据业务需求选择合适的对象状态管理方式。 数据库设计是项目的关键部分,可能包括用户表、商品表、订单表、购物车表等,需要考虑到数据的一致性、安全性和性能。例如,用户...
5. **领域模型**:在软件工程中,领域模型代表了业务领域的概念,贫血模型将业务逻辑放在服务层,而充血模型将业务逻辑包含在领域对象内部。 6. **HTTP和HTTPS协议**:HTTP是超文本传输协议,用于传输数据;HTTPS是...
同时,为了保证代码的可维护性和扩展性,良好的设计原则和模式(如单一职责原则、工厂模式、贫血模型/充血模型等)应当被遵循。 此外,项目的源代码可能会包含Maven或Gradle等构建工具的配置,以自动化构建和依赖...
6. **代码组织**:提倡模块化和分层设计,如贫血模型和充血模型的选择,以及MVC、三层架构等设计。强调接口的定义应清晰,实现应简洁,避免过度封装。 7. **日志记录**:推荐使用合适的日志级别,如DEBUG、INFO、...
6. **最佳实践**:在实际项目中,应遵循良好的设计原则和编码规范,例如采用贫血模型或充血模型设计实体类,合理组织Mapper和Service层,使用注解简化配置,利用AOP处理通用逻辑,以及利用Spring Boot简化SSM的启动...