请教面向对象的话,持久层设计有多大区别?
在JDON 逛逛,才发现自己以前用的方法都是面向数据库的。不过初步接触这些内容一时真无法理解。
但是如果面向对象为主的话,那数据库设计和面向数据库有区别么?我拿一个简单的blog 为例:
---------以前我数据库设计-----------
member: uid username password //用户表
roles: role_id role_name //角色表
member_roles: uid role_id //用户与角色 多对多
artical: aid title category content //文章表。 category 有 blog 和 studynote 分别代表日志和学习笔记
---------如果以面向对象思路的话-----------
对象:
class Artical{} //文章对象
class Blog extends Artical{} //博客对象,博客也属于文章。
class StudyNote extends Artical{} //学习笔记对象,学习笔记也属于文章。
interface ManageMyArtical_Behavior{} //管理自己的文章行为 CURD
interface ManageAllArtical_Behavior{} //管理所有文章行为 CURD
class ManageMyBlog implements ManageMyArtical_Behavior{} //管理自己的博客
class ManageMyStudyNote implements ManageMyArtical_Behavior{} //管理自己的学习笔记
class ManageAllBlog implements ManageAllArtical_Behavior{} //管理所有的博客
class ManageAllStudyNote implements ManageAllArtical_Behavior{} //管理所有的学习笔记
class Member{// 用户对象
ManageMyBlog managemyblog;
ManageMyStudyNote managemystudynote;
}
class Admin extends Member{//管理员对象,管理员也是用户。
ManageAllBlog manageallblog;
ManageAllStudyNote manageallstudynote;
}
-------------------------
这样设计的话,难道数据库设计有不同?
以这个例子为例,面向领域,应该如何设计呢?
请帮我从实例来解惑。谢谢各位了。