怎么提高开发效率

zlw0905 2015-07-06 06:11:42
前提:公司是 asp asp.net 共存的一个产品,
情景:需要做二次开发时,每次新增加一个字段的时候,asp只需要改动一个前台,接收一下参数,修改一个sql语句就可以,记下CTRL+F就可以啦.......但是asp.net的分层,得找好几层,Model层啊,SQL Server层啊,还得转换实体啊,花的时间比前者多多了,还很容易出错
请问:你们开发也会这样吗?
为什么当时学分层的那个容易扩展的好处我是真没发现,而是感觉浪费了好多时间呢,我用的不对吗?
最好的有效率的使用asp.Net加分层是怎样的?

还请大神指点一下,小弟是在费解

...全文
828 41 打赏 收藏 转发到动态 举报
写回复
用AI写文章
41 条回复
切换为时间正序
请发表友善的回复…
发表回复
hack771 2015-07-20
  • 打赏
  • 举报
回复
引用 37 楼 zlw0905 的回复:
[quote=引用 32 楼 hack771 的回复:] 其实如果只是改动字段,是只需要改MODEL层的,其他层不用管
为啥不用管?[/quote] 知道反射吗?利用反射可以动态创建,所以只需要更改MODEL层就行了
Q40355098 2015-07-10
  • 打赏
  • 举报
回复
白天不懂夜的黑,你只有经历过需要分层的时候才能感受到它的好处,听别人说是很难理解的
qq_19602941 2015-07-09
  • 打赏
  • 举报
回复
学习一下,,,,
rushbrush 2015-07-08
  • 打赏
  • 举报
回复
你只是没碰到分层设计方法的好处,只是看到了修改代码这一点点工作而已。而这点工作,比分层设计方法带来的好处,简直无法比。
zlw0905 2015-07-08
  • 打赏
  • 举报
回复
引用 32 楼 hack771 的回复:
其实如果只是改动字段,是只需要改MODEL层的,其他层不用管
为啥不用管?
_小猫_ 2015-07-08
  • 打赏
  • 举报
回复
看到你说分层,看来你连DDD都不知道!好好去看一下领域模型设计吧
种草德鲁伊 2015-07-07
  • 打赏
  • 举报
回复
提高开发效率第一步,明确目标明确需求
zlw0905 2015-07-07
  • 打赏
  • 举报
回复
引用 26 楼 Z65443344 的回复:
看你的需求,EF应该就能满足大部分需求 不同的框架针对的层次不同,互相并不冲突 使用了3层的同时,你还可以使用MVC(这针对BLL),还可以使用EF(针对DAL)
嗯,自己的视野太局限了,仅仅会点webform ajax,很多都没去体验过,看来业务发展的同时 技术也一定要跟上啊,谢谢楼主耐心讲解 肯定是个好领导
y2012 2015-07-07
  • 打赏
  • 举报
回复
我也有类似的困惑
於黾 2015-07-07
  • 打赏
  • 举报
回复
所谓框架,不过是前人对代码的一种封装 别人封装好的BLL层,你可以拿来用 别人封装好的DAL层,你也可以拿来用 这跟你本身的3层大框架并不冲突
於黾 2015-07-07
  • 打赏
  • 举报
回复
看你的需求,EF应该就能满足大部分需求 不同的框架针对的层次不同,互相并不冲突 使用了3层的同时,你还可以使用MVC(这针对BLL),还可以使用EF(针对DAL)
zlw0905 2015-07-07
  • 打赏
  • 举报
回复
引用 23 楼 Z65443344 的回复:
想完全自动化,那是办不到的,那是人工智能 如果仅仅是数据库多了个字段要显示,可能用一些框架,你什么都不需要改就行 而如果是数据库多了个字段要参与运算,还要参与业务逻辑 你业务逻辑的代码不改怎么可能
对对对,就是增加一个字段,用户输入一下,存入数据库,然后再显示出来,允许修改 这种简单的
引用
可能用一些框架,你什么都不需要改就行
,哪些框架可以这样啊?听到这样可以我都快跳起来了 同样的,我们这个框架不可以增加一些东西来实现这样吗?
zlw0905 2015-07-07
  • 打赏
  • 举报
回复
引用 20 楼 Z65443344 的回复:
[quote=引用 18 楼 zlw0905 的回复:] [quote=引用 7 楼 Z65443344 的回复:] 如果你不能正确的封装层次结构(类库工程,类,函数) 那么很多时候可能还没有复制粘贴来的简单 等你同样的代码复制粘贴了100次,然后发现代码有bug,需要改,就要改100次 这时候你重新对它进行封装,才能真正体会封装的好处
这个问题是因为多层而改动很多地方,没有效率 我想 封装也不能解决这事吧[/quote] 如果你的DAL层使用了任何ORM框架,那么就应该能自动适应实体类的改变,而不需要去改动SQL语句 需要改动太多东西,只能说明是为了封装而封装,只不过是把一段完整的代码分成几段写在不同的层次里而已,并没有起到封装的作用[/quote] 至于您说的第一点用ORM,这个我没用过,没有发言权,我们这个系统DAL层有时只是参数化查询加传递存储过程变量名的作用,增删查改这些简单的有时候能搞一个存储过程,这个ORM也能解决吗? 我同意你说的第二点,感觉确实是一段完整的代码拆开了放在了各层,通过实体传来传去,也就感觉sqlhelper和common里边的工具类是最有用的了
於黾 2015-07-07
  • 打赏
  • 举报
回复
想完全自动化,那是办不到的,那是人工智能 如果仅仅是数据库多了个字段要显示,可能用一些框架,你什么都不需要改就行 而如果是数据库多了个字段要参与运算,还要参与业务逻辑 你业务逻辑的代码不改怎么可能
zlw0905 2015-07-07
  • 打赏
  • 举报
回复
引用 12 楼 Z65443344 的回复:
[quote=引用 8 楼 zlw0905 的回复:]
[quote=引用 1 楼 sp1234 的回复:]
你是找到了”为了分层而分层“的做法坑人的地方,而没有找到真正的分层的好处。

还请大神指点一下 ,或者给个方向,,这是公司搭的一个很早的框架,不可否认如果我自己搭也是这样.,,,,[/quote]
估计就是用动软生成器生成了个三层架构的简单模型罢了
如果你想用好三层,那么首先就要理解三层是哪三层,各干什么用
UI层只负责显示和用户输入,BLL层负责业务逻辑,DAL层负责连接数据库

很多人把业务逻辑都写进页面里,BLL层只是和DAL层沟通的桥梁,那么它完全就是多余的了
还有的人DAL层里只有个SQLHelper,连SQL语句都是在页面里拼接的
那么连DAL层都是多余的了[/quote]
对于三层这些概念我是了解的,

引用 12 楼 Z65443344 的回复:
[quote=引用 8 楼 zlw0905 的回复:]
[quote=引用 1 楼 sp1234 的回复:]
你是找到了”为了分层而分层“的做法坑人的地方,而没有找到真正的分层的好处。

还请大神指点一下 ,或者给个方向,,这是公司搭的一个很早的框架,不可否认如果我自己搭也是这样.,,,,[/quote]
估计就是用动软生成器生成了个三层架构的简单模型罢了
如果你想用好三层,那么首先就要理解三层是哪三层,各干什么用
UI层只负责显示和用户输入,BLL层负责业务逻辑,DAL层负责连接数据库

很多人把业务逻辑都写进页面里,BLL层只是和DAL层沟通的桥梁,那么它完全就是多余的了
还有的人DAL层里只有个SQLHelper,连SQL语句都是在页面里拼接的
那么连DAL层都是多余的了[/quote]



这是我们项目的一个结构,说封装也有,在common里边封装了好多方便的类,各层也都是各负其职,即使这样,新增一个字段也得改Model,改DAL,改UI。
因为我们把验证啊什么的都放在了UI层,所以不用改BLL层,BLL层也确实只是沟通的桥梁,,但即使逻辑都放在了BLL层,那也免不了改Model,改DAL,改BLL,改UI吧?我想有没有一种自动化的东西来帮助完成这些事情
於黾 2015-07-07
  • 打赏
  • 举报
回复
如果一个函数,并不能根据传入的参数不同,执行不同的功能 而就是f1调用f2,f2调用f3,那么封装不封装,还是都写进一个函数里,又有什么区别
於黾 2015-07-07
  • 打赏
  • 举报
回复
引用 18 楼 zlw0905 的回复:
[quote=引用 7 楼 Z65443344 的回复:] 如果你不能正确的封装层次结构(类库工程,类,函数) 那么很多时候可能还没有复制粘贴来的简单 等你同样的代码复制粘贴了100次,然后发现代码有bug,需要改,就要改100次 这时候你重新对它进行封装,才能真正体会封装的好处
这个问题是因为多层而改动很多地方,没有效率 我想 封装也不能解决这事吧[/quote] 如果你的DAL层使用了任何ORM框架,那么就应该能自动适应实体类的改变,而不需要去改动SQL语句 需要改动太多东西,只能说明是为了封装而封装,只不过是把一段完整的代码分成几段写在不同的层次里而已,并没有起到封装的作用
zlw0905 2015-07-07
  • 打赏
  • 举报
回复
引用 13 楼 Z65443344 的回复:
我现在正着手做的一个公司考勤系统(其实就是几个页面),就完全没有用三层 业务逻辑很简单,没有什么工作流的概念,直接写进页面 访问数据库抽成一个类足矣
嗯,这个我是知道的
zlw0905 2015-07-07
  • 打赏
  • 举报
回复
引用 7 楼 Z65443344 的回复:
如果你不能正确的封装层次结构(类库工程,类,函数) 那么很多时候可能还没有复制粘贴来的简单 等你同样的代码复制粘贴了100次,然后发现代码有bug,需要改,就要改100次 这时候你重新对它进行封装,才能真正体会封装的好处
这个问题是因为多层而改动很多地方,没有效率 我想 封装也不能解决这事吧
於黾 2015-07-07
  • 打赏
  • 举报
回复
引用 15 楼 lc_antt 的回复:
看来楼主是习惯了一条Sql搞定一切
其实很多小项目都是一条SQL搞定的问题 这种时候引入什么高大上的框架,都是多余的
加载更多回复(21)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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