[quote=引用 1 楼 sp1234 的回复:] 接口是OOPL的基本概念。 mvc是40年前施乐公司的程序员发明的一种最基本的UI设计架构模式。只不过在15年前在一些 java 开源项目中被“僵尸复活”地重新忽悠起来、作为struts等产品的醒目标签(它们基本上只取原来mvc模式中最没有技术含量的几句话而已,用来推销自己的java开源软件)。在5、6年前,微软的asp.net再次模仿struts等的理念而推出了asp.net mvc产品。因此现在asp.net所说的mvc,要么上是指asp.net mvc产品框架,要么就是简单地“m-v-c三个概念”的简单搭配。 “三层”是差不多20年前随着pc电脑(个人电脑)逐步在公司里普及(那么时候在中国,一台pc 386差不多还要1万块钱),基于“客户机-服务器”网络架构,出现了“用pc取代工作站、用小型机服务器取代中型机服务器”的趋势。一个完整的UI操作系统可以在客户机完成,而服务器可以变得“轻量”了从而不再处理UI,而仅仅处理业务逻辑。大型业务系统(例如从欧洲连到美洲的系统)出现了“几百台pc客户机+几台业务服务器+一台数据库服务器”三类机器相互分离的网络架构。这就是三层系统。 至于说在asp.net中忽悠的所谓“三层”,其实跟个别的 java 开源项目也有关系,也是微软在2004年左右仿照 java 的某几个流行项目而推出来 PetShop 等小项目源代码,以至于一些“这个时候才知道三层架构的人”立刻走火入魔地去拼命模仿和copy其代码。这些人基本上都是搞小程序小项目,因此他们强调“三层”的意义在于可以强化对程序员的进度控制(因为他们眼中的程序基本上只有千篇一律的增删改查就够了),用DAL作为鞭策这些程序员“不要怠工”的工具,而他们其实根本不太善于设计BLL架构和UI架构,只知道整天抱着DAL研究。 真正的“三层”,是弱化DAL(因为最近20年有几十个流行的数据库操作框架可以拿来就用的),几乎不用自己去设计DAL,而应该把精力放在BLL(几百个业务api服务定义)和UI(千变万化的用户交互要求迅速响应,每天可以上线多个版本)。
[quote=引用 6 楼 wyd1520 的回复:] 接口跟mvc没有关系
接口跟mvc没有关系
接口是OOPL的基本概念。 mvc是40年前施乐公司的程序员发明的一种最基本的UI设计架构模式。只不过在15年前在一些 java 开源项目中被“僵尸复活”地重新忽悠起来、作为struts等产品的醒目标签(它们基本上只取原来mvc模式中最没有技术含量的几句话而已,用来推销自己的java开源软件)。在5、6年前,微软的asp.net再次模仿struts等的理念而推出了asp.net mvc产品。因此现在asp.net所说的mvc,要么上是指asp.net mvc产品框架,要么就是简单地“m-v-c三个概念”的简单搭配。 “三层”是差不多20年前随着pc电脑(个人电脑)逐步在公司里普及(那么时候在中国,一台pc 386差不多还要1万块钱),基于“客户机-服务器”网络架构,出现了“用pc取代工作站、用小型机服务器取代中型机服务器”的趋势。一个完整的UI操作系统可以在客户机完成,而服务器可以变得“轻量”了从而不再处理UI,而仅仅处理业务逻辑。大型业务系统(例如从欧洲连到美洲的系统)出现了“几百台pc客户机+几台业务服务器+一台数据库服务器”三类机器相互分离的网络架构。这就是三层系统。 至于说在asp.net中忽悠的所谓“三层”,其实跟个别的 java 开源项目也有关系,也是微软在2004年左右仿照 java 的某几个流行项目而推出来 PetShop 等小项目源代码,以至于一些“这个时候才知道三层架构的人”立刻走火入魔地去拼命模仿和copy其代码。这些人基本上都是搞小程序小项目,因此他们强调“三层”的意义在于可以强化对程序员的进度控制(因为他们眼中的程序基本上只有千篇一律的增删改查就够了),用DAL作为鞭策这些程序员“不要怠工”的工具,而他们其实根本不太善于设计BLL架构和UI架构,只知道整天抱着DAL研究。 真正的“三层”,是弱化DAL(因为最近20年有几十个流行的数据库操作框架可以拿来就用的),几乎不用自己去设计DAL,而应该把精力放在BLL(几百个业务api服务定义)和UI(千变万化的用户交互要求迅速响应,每天可以上线多个版本)。
110,538
社区成员
642,577
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧