Re: [設計] 來談一下分析設計
※ 引述《seagal (會長繞跑了)》之銘言:
: 例如FAQ跟News是兩個不同的類別
: 而同樣繼承module這個類別
: 我之前曾做過ㄧ個EIP(企業入口網站)
: 就是這樣設計的
: 而如果要對應回去SQL的話
: 一樣要弄出FAQ table & News table
: 因為SQL沒辦法表現繼承
: 所以最底層的那些類別還是都得幫助她們生出表格(關聯)
: 然後在邏輯層跟資料存取上再加以處理
: 讓SQL讀出來的資料能夠轉成OO的方式
喔對,關於繼承,一開始我畫出的Class Diagram是有個繼承的事情,
剛開始想得很簡單,繼承部份實作成關聯資料庫的表格,只是複製出另一份表格,
而屬於子類別的表格延伸的屬性,就是在複製的表格上多加一些欄位.
但後來一看,問題多多,網站大部份區塊都存資料在父類別的表格,
而極少數例外區塊則存資料在子類別的表格,
這表示我用這個新資料庫來寫程式的時候,
有一部份的程式實作要引用較一般化的觀點,另一部份卻得引用較特殊化的觀點...
修正的辦法是將Class Diagram的觀點層級弄得一樣深,也就是不使用繼承.
原本衍生的子類別就打散到父類別中...
我意思是Object類別衍生了Conference類別,在圖上是以繼承關係這樣畫,
但做成表格的時候,則是將Conference原應有的表格合併到Object表格,
Conference表格則取消.
這樣子雖然沒有OO感,但是程式才好寫啊!
接下來,撰寫系統的想法是,
先在底層撰寫資料介面,也就是一些非常低階的程式,負責處理與資料庫綱要
有密切關係的工作,包含資料列的輸入,讀取,刪除,修改或調整等等.
高一點的層面,寫一些模組,將底層基本功能包裝起來,各模組提供介面以達成高階功能.
然後是頂層的應用程式架構介面,這個部份是一些提供選項設定的程式,
程式設計者/系統架構者可以使用這些程式,選項選一選,
就產生一些他們所需要的特定資訊區塊,譬如News啦,FAQ啦.
這個應用程式架構介面的內部運作,就是呼叫或組合前段所提到的高階模組,
來製造系統的各功能區塊.
概念歸概念,實際上該整理哪些規格,仍相當不清楚.
不曉得有沒有人寫論文整理這方面的架構.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.65.165
討論串 (同標題文章)
Database 近期熱門文章
PTT數位生活區 即時熱門文章