接口,mvc,三层架构

大胡萝卜 2015-04-13 10:49:28
接口和三层架构区别?接口和MVC框架有什么区别呢
...全文
163 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
但是它们都不支持多重继承技术 --> 但是它们都不让 class 直接去支持多重继承技术而是使用接口来繁琐地模拟多重继承
  • 打赏
  • 举报
回复
关于接口,这个比较容易讲,但是也最难讲。它就像是中国武术的“扎马步”一样,你练什么套路要想不最终成为“花拳绣腿”的话,都离不开 OOPL 的基本功。而它又极其普通的“没有什么好讲的”。 实际上在 OOAD中无所谓“接口”,只要继承和和多态即可。 而接口是继承的“一种实现形式”。在 java 和 .net 中有多种实现形式可以实现继承和多态,但是它们都不支持多重继承技术,所以在遇到多重继承设计时为了能够编码实现则只能用接口。
  • 打赏
  • 举报
回复
接口是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(千变万化的用户交互要求迅速响应,每天可以上线多个版本)。
卧_槽 2015-04-13
  • 打赏
  • 举报
回复
引用 4 楼 u013824233 的回复:
[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] 本来就是两个完全不同的东西。一个是方法的抽象,一个是方法的集合。 相同的地方可能是都有方法这个概念的存在吧。
本拉灯 2015-04-13
  • 打赏
  • 举报
回复
引用 7 楼 u013824233 的回复:
[quote=引用 6 楼 wyd1520 的回复:] 接口跟mvc没有关系
和逻辑层呢[/quote] 也没有什么关系呀,最多与数据操作层有关,你写个什么工厂模式就要用到接口
大胡萝卜 2015-04-13
  • 打赏
  • 举报
回复
引用 6 楼 wyd1520 的回复:
接口跟mvc没有关系
和逻辑层呢
本拉灯 2015-04-13
  • 打赏
  • 举报
回复
接口跟mvc没有关系
  • 打赏
  • 举报
回复
接口跟mvc有什么关系? 接口是供外部调用的 mvc和三层是一种用来划分职责的 微软mvc只是微软对mvc的一个实现
大胡萝卜 2015-04-13
  • 打赏
  • 举报
回复
引用 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(千变万化的用户交互要求迅速响应,每天可以上线多个版本)。
我想问的是接口和业务逻辑层的区别

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧