如何使N_TIER的架構符合OO的精神 (100分)

W

wlq

Unregistered / Unconfirmed
GUEST, unregistred user!
我看過一些OO的范例﹐他們喜歡用Class來描述資料的流動﹐
比如新增一筆人事記錄﹐就會寫一個Insert(Person:TPerson)
方法來用﹐但是在我們的N-Tier架構中﹐多個Table抓出的資
料被封裝在一個Variant類型里面傳來傳去﹐是否有背OO的精
神? 那么我們應該如何解決?
謝謝
 
一个Class也可以封装到Variant类型的变量里, 这样的好处是可以跨越进程边界, 可以
与其它应用程序交互
 
没必要拘泥于什么OO精神,OO的最大优点就是可复用的设计以及更好的可维护性,只要能满足
可维护性好就好了
毕竟我们是要解决问题,而不是为了某种精神,OO也只是解决问题的一种方法,但决不是解决
一切问题的办法.
.
就你举的例子来说,新增一筆人事記錄﹐就會寫一個Insert(Person:TPerson)方法來用,这样
当工资计算方式改变时,简单的修改这个方法就好了
用Variant類型封裝資料,最大的优点就是设计的简单,不会象设计类时要考虑很多因素.
在多层体系中,我认为可复用的组件设计是最难的,所以OO的设计理念正是用武之地,但要是没设计
好,问题会接踵而来,比不用OO还糟
很少见到实际应用中的N-Tier系统的讨论,而我只是学生没什么经验,希望wlq兄和各位前辈能多指点.
 
>> 多個Table抓出的資料被封裝在一個Variant類型里面傳來傳去
從OO的觀點來看﹐這個Variant到資料庫之間﹐還差一層實體類的外殼,
我們通常是用sql抓資料﹐然后又自動生成SQL來記資料﹐OO是要在這之
外加一個殼﹐或者叫一個代理類﹐據說是GRASP模式的一種﹐見﹕
Craig Larman的 Applying UML and Patterns
中國大陸應該有賣的
 
多人接受答案了。
 
顶部