PO(persistent object 持久对象)
-
有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。
-
在hibernate持久化框架中与insert/delet操作密切相关。
-
PO中不应该包含任何对数据库的操作。
BO(business object 业务对象)
业务对象主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。
比如一个简历,有教育经历、工作经历、社会关系等等。我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。
建立一个对应简历的BO对象处理简历,每个BO包含这些PO。
这样处理业务逻辑时,我们就可以针对BO去处理。
封装业务逻辑为一个对象(可以包括多个PO,通常需要将BO转化成PO,才能进行数据的持久化,反之,从DB中得到的PO,需要转化成BO才能在业务层使用)。
关于BO主要有三种概念
-
只包含业务对象的属性;
-
只包含业务方法;
-
两者都包含。
在实际使用中,认为哪一种概念正确并不重要,关键是实际应用中适合自己项目的需要。