2007年9月21日 星期五

E13 設計的終點(1)──快速應付Data Model的改變

Project Data Model直接繼承Basic Data Model其實也只是個快速的作法,當類似的Project Data Model會在多個專案出現時,同樣也要在兩者之間再加上一個中間性質的Data Model作為吸收改變的設計。

如果改變的是存放的屬性,我們可以變更存放那個資料的類別存取方法;如果改變的是資料模組,我們可以增減或改變類別的名稱;如果改變的是類別放置在Context內的群組與位置,我們可以改變Context存取這個類別的存取方法。

經由一層層對應管理資料模組的設計,我們面對改變時只需要確認屬於哪一個層次,接著就在屬於那個層次的類別介面修改存取的方式,並且將改變封裝到類別裡頭,由該類別與其繼承的類別共同合作以完成符合該變更的修改;加上Basic Data Model已經實作好存取資料的功能,因而可以只注重存取的控制。

即使全部都只是Data Model,實際在設計與使用時還是能夠依照定義給予不同層次的定義。設計好具有意義的層次後,改奱的影響就很容易界定出範圍來。更重要的一點是藉由Model名稱定義生成Data Model的機制可以讓物件的生成更為機動與快速。

沒有留言:

張貼留言