<原載於藍色小舖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合而为一较为恰当。

相关文章:

  • 2021-12-11
  • 2021-09-08
  • 2021-06-05
  • 2021-05-24
  • 2021-11-10
  • 2021-07-25
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-08
  • 2022-01-22
  • 2021-09-18
  • 2022-02-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案