当前位置: 首页 > news >正文

(原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)

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

相关文章:

  • learn C++ or C# Options
  • Linux系统中/dev/mtd与/dev/mtdblock的区别
  • Linux设备驱动程序工作原理
  • sql 行转列的终极写法
  • 感觉这个JQuery不错,查询方便
  • Delphi2010 API延迟加载
  • 移动客户端搜索速度优化 —— 手机百度“云和端技术实践”沙龙
  • 压缩Sqlite数据文件大小,解决数据删除后占用空间不变的问题
  • 在Windows Mobile和Wince(Windows Embedded CE)下封装Native DLL的回调函数
  • 【转】Windows GUI自动化测试技术的比较和展望
  • dbf文件修复
  • 在Salesforce中编写Unit Test
  • oracle sql获取随机数
  • WM有约II(七):番外篇
  • PHP中的include功能
  • [PHP内核探索]PHP中的哈希表
  • 【391天】每日项目总结系列128(2018.03.03)
  • Bytom交易说明(账户管理模式)
  • CSS 提示工具(Tooltip)
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • October CMS - 快速入门 9 Images And Galleries
  • Spring声明式事务管理之一:五大属性分析
  • Theano - 导数
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 聚类分析——Kmeans
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 区块链技术特点之去中心化特性
  • 一起参Ember.js讨论、问答社区。
  • 白色的风信子
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​Linux·i2c驱动架构​
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (poj1.3.2)1791(构造法模拟)
  • (八)Flask之app.route装饰器函数的参数
  • (二十四)Flask之flask-session组件
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (小白学Java)Java简介和基本配置
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)重识new
  • ***通过什么方式***网吧
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .NET关于 跳过SSL中遇到的问题
  • .NET运行机制
  • @Autowired 与@Resource的区别
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [<MySQL优化总结>]
  • [1]-基于图搜索的路径规划基础