当前位置:编程学习 > C#/ASP.NET >>

小女子在线求助!普通代码改成三层架构!

实在是技术能力有限,偏偏时间有点紧迫
盼望哪位大神能伸手相救啊

代码不难,就是结构我有点看不懂
现在要求改成三层架构
在线等求助


QQ:2388281258 --------------------编程问答-------------------- 作业么?还是啥 --------------------编程问答-------------------- 呵呵,这伸手党还崔起来了 --------------------编程问答-------------------- 妹子 帮顶  --------------------编程问答--------------------  来求作业了。 --------------------编程问答-------------------- 没空 谢谢. --------------------编程问答-------------------- 做完作业 送妹子么? --------------------编程问答-------------------- 没空,我也不懂 什么三层 四层的 --------------------编程问答-------------------- 三层框架么,现在不都改用5层了么。 --------------------编程问答-------------------- 代码生成器! --------------------编程问答--------------------
引用 8 楼 gaofzhs 的回复:
三层框架么,现在不都改用5层了么。

--------------------编程问答--------------------
引用 10 楼 lww5351568 的回复:
Quote: 引用 8 楼 gaofzhs 的回复:

三层框架么,现在不都改用5层了么。


胡说,早就开始用7层了。 --------------------编程问答--------------------
引用 11 楼 yuwenge 的回复:
Quote: 引用 10 楼 lww5351568 的回复:

Quote: 引用 8 楼 gaofzhs 的回复:

三层框架么,现在不都改用5层了么。


胡说,早就开始用7层了。
--------------------编程问答--------------------
引用 11 楼 yuwenge 的回复:
Quote: 引用 10 楼 lww5351568 的回复:

Quote: 引用 8 楼 gaofzhs 的回复:

三层框架么,现在不都改用5层了么。


胡说,早就开始用7层了。

微软最新推出了9层了 --------------------编程问答-------------------- 我写了个11层的 --------------------编程问答-------------------- 如果是自然而然地架构,我们都发现跟那种强行推的东西完全不一样。

同样是三层,你会发现,有些人嚷嚷了10年,其实也不过是纠结在DAL这一层上不断地纠缠各种代码“风格”。而纠结于这个层面过度嚷嚷“三层”其实提高不了程序员的水平。 --------------------编程问答-------------------- 一个真正的三层至少是体现在BLL层设计上的。但是这一层,跟数据库、跟“代码生成器”有什么关系?这纯粹是为了前端(远程)系统而提供的通讯api层,因为只有千差万别的前端系统才需要统一、高效而精简的后台业务服务层。这一层的设计,仍然是以实际“协同多种不同的前端项目”的目的为准,而不是仅仅为了“写代码的风格”而随便搞出来的八股式的要求。你没有用多种前端平台来解决同样的问题的经验,就会落入“为了三层而三层、仅强调简单的编码格式,反而白费10年口舌也没有能开发出产品平台”的地步。


而许多更“多”的层次,可能跟三层并不矛盾,因为角度根本不同。例如我们的产品主控制界面系统,可能读取数据库而产生“菜单树、功能选项卡、功能界面”等,根据用户在菜单项上的点击,而自动找到“应该动态产生哪一种子功能应用程序用户控件”,并将控件实例在选项卡上展现出来(添加一个选项卡)。然后假设由此加载的用户控件遵循了我们预定义的接口,我们就可以捕获它“请求保存状态”的事件通知,将用户定义控件暴露出来的属性保存到数据库中。这样,下一次再次打开产品住控制界面系统,我们就可以直接恢复上一次的选项卡以及选项卡内用户控件的状态。

如果你让那种“为了三层而三层”的人来设计,他就不理解了。因为他会以为每一个用户控件自己对数据库进行“增删改查”这就是三层了。而无法理解主控制界面来代理保存状态信息、用户控件无需了解数据库,这种设计层次。

这个时候,这个主控制界面程序,就不是什么“中间层”,整个系统也不是“竖井式的”。因此“三层”是所有设计中最初级的东西,如果过度耗费精力纠结于此,你就无法理解稍微高级一点的设计模式的应用了。 --------------------编程问答-------------------- 三层中的BLL层,他必然直接调用DAL,例如直接调用ADO.NET或者你封装的其它的简单数据操作类库。

任何人可以不必纠结什么DAL编码“风格”问题,就是看看你的BLL设计的习惯开发方式,是从真正抛开过于底层的东西的角度而设计的还是根本就是满脑子都是底层而设计的,是集中精力去高效适配前端系统的创意的还是从低效地去纠结什么“三层代码风格”而出发的,就行了。

实际上有不少程序员,是为了少写update、inset语句而去是用什么代码生成器,而去忽悠什么“三层代码”,本来他只要更新一两个字段就行了而他偏要装配一个大的对象然后更新一大堆字段,这种人强调“三层”我们就应该反对。因为这种人连sql语句恐怕都不会写了,而真正的BLL或者其它的灵活分层的设计技术水平却也没有帮助。 --------------------编程问答--------------------
引用 11 楼 yuwenge 的回复:
Quote: 引用 10 楼 lww5351568 的回复:

Quote: 引用 8 楼 gaofzhs 的回复:

三层框架么,现在不都改用5层了么。


胡说,早就开始用7层了。

瞎说,每个99层都不好意思出门见人 --------------------编程问答-------------------- 好多打酱油的 --------------------编程问答-------------------- DAL--BLL---MODEL     这就是所谓的三层啦(作业还是要自己做滴) --------------------编程问答--------------------
引用 17 楼 sp1234 的回复:
三层中的BLL层,他必然直接调用DAL,例如直接调用ADO.NET或者你封装的其它的简单数据操作类库。
.........


BLL 必然 直接 调用DAL
我表示怀疑,IOC是用来是用来忽悠人的吗?
你所谓的“产品平台”难道只支持SQL Server数据库? --------------------编程问答--------------------
引用 16 楼 sp1234 的回复:
一个真正的三层至少是体现在BLL层设计上的。但是这一层,跟数据库、跟“代码生成器”有什么关系?这纯粹是为了前端(远程)系统而提供的通讯api层,因为只有千差万别的前端系统才需要统一、高效而精简的后台业务服务层。这一层的设计,仍然是以实际“协同多种不同的前端项目”的目的为准,而不是仅仅为了“写代码的风格”而随便搞出来的八股式的要求。你没有用多种前端平台来解决同样的问题的经验,就会落入“为了三层而三层、仅强调简单的编码格式,反而白费10年口舌也没有能开发出产品平台”的地步。


而许多更“多”的层次,可能跟三层并不矛盾,因为角度根本不同。例如我们的产品主控制界面系统,可能读取数据库而产生“菜单树、功能选项卡、功能界面”等,根据用户在菜单项上的点击,而自动找到“应该动态产生哪一种子功能应用程序用户控件”,并将控件实例在选项卡上展现出来(添加一个选项卡)。然后假设由此加载的用户控件遵循了我们预定义的接口,我们就可以捕获它“请求保存状态”的事件通知,将用户定义控件暴露出来的属性保存到数据库中。这样,下一次再次打开产品住控制界面系统,我们就可以直接恢复上一次的选项卡以及选项卡内用户控件的状态。

如果你让那种“为了三层而三层”的人来设计,他就不理解了。因为他会以为每一个用户控件自己对数据库进行“增删改查”这就是三层了。而无法理解主控制界面来代理保存状态信息、用户控件无需了解数据库,这种设计层次。

这个时候,这个主控制界面程序,就不是什么“中间层”,整个系统也不是“竖井式的”。因此“三层”是所有设计中最初级的东西,如果过度耗费精力纠结于此,你就无法理解稍微高级一点的设计模式的应用了。

写得真好!!
有时候很怀疑,是不是这个帐号只是csdn某个技术团体的代言人啊,为什么每次发出的言论都那么深刻。。。。。
补充:.NET技术 ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,