论坛首页 入门技术论坛

邻域模型 和POJO的区别是什么?

浏览 2425 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-07-17  
我们一直在讨论领域模型 ,但是他和POJO对象到底有什么区别呢?
   发表时间:2008-07-17  
任何以后不被框架或者其他接口污染的class都叫POJO
而领域模型只是一个应用中POJO的子集,代表业务的主体
0 请登录后投票
   发表时间:2008-07-17  
概念和具体的描述方式的关系。领域模型从对领域的分析中得来,但是分析出来的抽象概念得对应到程序里,才能有实际的意义。一般就用POJO类来描述这个领域模型了。比如,用户是对系统的使用者的一种抽像,对应到程序里,你得用POJO来描述这个用户模型,你可能就会用一个 User类来描述了。
当然,要描述领域模型,不一定非得要用POJO,也可以用其它的方式,比如XML,等等。
0 请登录后投票
   发表时间:2008-07-19  
我定义一个最简单的 用户 POJO
package com.test;

public class user {
	
	private String name;
	
	private String address;
	
	private int age;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
	
}

代码看上去非常的清楚。但我现在要增加一个function就是看这个人是否大于25岁
我可以像下面的写法
package com.test;

public class user {
	
	private String name;
	
	private String address;
	
	private int age;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
	
	
	public boolean isMoreThan25(){
		if(this.age>25){
			return true;
		}
		return false;
	}
	
}



就是把一些和其他的对象没有关联而只和这个对象属性有关系的方法写在POJO了。
这里有两个问题:
一个是,我一直很迷惑的是想第二种的写法是否就是可以叫领域模型了? 还是说我们平常定义的service层才是?
第二个是这样写是否好?

0 请登录后投票
论坛首页 入门技术版

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