請教物件導向的話,持久層設計有多大區別?

shaird發表於2009-04-12
在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;
}

-------------------------
這樣設計的話,難道資料庫設計有不同?
以這個例子為例,面向領域,應該如何設計呢?
請幫我從例項來解惑。謝謝各位了。

相關文章