(原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
2006-09-28 00:28
423 查看
<原載於藍色小舖Blog 阿森的學習筆記 2006/09/04 Mon 12:03 PM>
PetShop有一个名为Model的Project,专门定义PetShop整个Solution中所有Object的Class,另外尚有BLL Project,负责商业逻辑组件的Project,若以OOA/D的角度来看,是否该将这两个Project拆开?还是该合而为一?
若以OOA/D角度来看,OO主要是为了『模拟世界,加以处理』,所以将实际世界中的人事物,透过抽象的方式,用『Object』模拟整个世界,再用『Class』将目前的『Object』做归纳,并用『Class』对未来的『Object』做演绎,而Object本身就应该有Property,Method和Event,而PetShop硬是将Model和BLL拆开,Model专司Property,而BLL专司Method,似乎有违OO中Object同时有Property,Method,Event的习惯。
唯一我认为PetShop可能的考虑是,由于Model Object常常需要当参数传递,若挂着BLL的一堆Method,可能使Model Object过于庞大而占不少内存,事实上,有一本讨论用.NET写n-tier的书面向对象分析设计与实作,他书中的范例程序,就是将BLL和Model就是合而为一,不过究竟PetShop的方式是否较好,我也尚无定论,只是若以OOA/D的观点,似乎将BLL和Model合而为一较为恰当。
PetShop有一个名为Model的Project,专门定义PetShop整个Solution中所有Object的Class,另外尚有BLL Project,负责商业逻辑组件的Project,若以OOA/D的角度来看,是否该将这两个Project拆开?还是该合而为一?
若以OOA/D角度来看,OO主要是为了『模拟世界,加以处理』,所以将实际世界中的人事物,透过抽象的方式,用『Object』模拟整个世界,再用『Class』将目前的『Object』做归纳,并用『Class』对未来的『Object』做演绎,而Object本身就应该有Property,Method和Event,而PetShop硬是将Model和BLL拆开,Model专司Property,而BLL专司Method,似乎有违OO中Object同时有Property,Method,Event的习惯。
唯一我认为PetShop可能的考虑是,由于Model Object常常需要当参数传递,若挂着BLL的一堆Method,可能使Model Object过于庞大而占不少内存,事实上,有一本讨论用.NET写n-tier的书面向对象分析设计与实作,他书中的范例程序,就是将BLL和Model就是合而为一,不过究竟PetShop的方式是否较好,我也尚无定论,只是若以OOA/D的观点,似乎将BLL和Model合而为一较为恰当。
相关文章推荐
- 是否该学PetShop将Model和BLL分开?
- (原創) 為什麼PetShop要分成這麼多的Project? (.NET) (PetShop) (N-Tier)
- (原創) 写程序时,要同时以Class Creator和Class User的角色来写程序 (OO) (.NET) (N-Tier) (C/C++)
- ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析
- (原創) 我的Design Pattern之旅[4]:使用Generic改進Strategy Pattern (OO) (Design Pattern) (.NET) (C#)
- 用VS建立 ASP.NET多层架构 (bll、model、dal、dbutility)彼此间的引用及关系
- asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析
- 【转】asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别 转载自:http://blog.csdn.net/luoyeyu1989/article/details/8275866
- ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析
- (原創) 回讀者的信,一篇學習C#/C++/OO的FAQ (OO) (Design Pattern) (C/C++) (.NET) (C#)
- ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析(转载CSDN)
- ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析
- ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析
- [转] ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析
- asp.net 常见参考项目的 UI、BLL 、Model 、 DAL 分析
- asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别
- ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析
- ASP.NET 常见参考项目的 UI、BLL 、Model 、 DAL 分析