.net 模块化开发

飘渺公子 2015-05-22 10:35:15
最近公司要重构之前的一个项目,之前采用三层架构的WEB开发,现在想把项目中的60+功能做成单一模块。在网上搜索了模块化开发后一知半解的,我理解如何做反射,如何做抽象层,但是模块化的话是不是说把每一个功能/模块新建一个项目?单个项目只对该模块负责?那么问题来了,我怎么组合页面呢?网上查的MEF貌似是针对数据处理层的。诚请教各位大神,有什么方法或者例子什么的我能参考一下。
...全文
660 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
“模块化”这个词儿其实一般是针对比较初级的程序员来说的。针对高级的程序员会提到一些具体的架构要求他去实现扩展部分。而针对初级程序员,例如发现一大堆的“表格(包括关联一对多的关联表格)的增删改查”总是写一堆代码,人家用10分钟做完的事情而自己的公司的程序原总是使用3天才能做完,那么可能就设计开发一个通用的表格编辑器,只要给了数据实体的名称和用户名称就能自动对用户有权限编辑的数据产生“增删改查的UI表单”。类似这种东西,可能被叫做“模块”,让别的程序员先开发几个这类模块,然后用鼠标拖到设计界面上来简单地配置一下(例如配置一下数据库表名称、界面标题名称、允许开放按钮、是否自动产生页面导航栏)。 所以一般的小公司里对初级程序员所宣传的“模块化”这个词儿,并不是软件工程上对系统设计时的“模块化”的概念,而往往是用来把高成本的程序员变成售后低成本服务人员的那种意思。 当然我不是说让你使用这类模块化之后的工具就是“降低身份”或者降低工资。大多数公司并不会降低程序员工资(可能原本的工资就很低,所以才想到了“模块化”的手段),而是会以提高生产效率增加收入来弥补工资费用。 模块化的产品,将来可能在用户现场就用半小时、1小时就循序根据用户的需求而开发出一个原型来,直接给用户使用。然后事后再次在用户现场用半小时重构界面时,原来的数据也仍然可以使用。模块化产品说白了就是用来降低开发人员的门槛,避免让比较便宜的小工来一遍遍地从网上抄袭一大堆(对他)高大上的代码取消耗时光(实际上许多人都把精力放在从网上抄袭最基本最低级的模块代码上),而是把他变成了真正的流水线上的工人。
  • 打赏
  • 举报
回复
引用 6 楼 starfd 的回复:
你这个模块化开发是不是指的插件式开发MFC?
我认为 lz 根本说不出来,而是想到网上来问别人他们自己公司的领导说的概念是什么意思。这其实说明一个公司的招聘的技术人员还处在实习阶段,而且不愿意向自己的公司来了解和学习技术。
  • 打赏
  • 举报
回复
实习不是这样实习的,不是靠瞎猜。既然你们公司要做一些提高开发人员层次的事情,那么你就把具体的料给爆一些出来吧。你不要靠到网上搜索名词儿解释来学习,你应该跟自己公司的技术经理来学习。特别是参与到具体的产品架构的局部设计中(例如做一些高层模块的接口实现和扩展之后可能支撑起来的局部小模块),而忘掉你说的“我理解如何做反射,如何做抽象层”这种话。 实际上如果你去理解自己公司的比较通用、低级的“模块化”的具体内涵概念都困难,那么你所理解的“反射、抽象层”也就是一堆中看不中用的摆设,你虽然操着跟别人通用的名词儿但是做出来的东西完全不像。所以这些自认为比公司领导更超前的时髦概念可以扔掉,然后去专注与自己公司的“模块化”开发。
  • 打赏
  • 举报
回复
你这个模块化开发是不是指的插件式开发MFC?
满CD的程序猿 2015-06-14
  • 打赏
  • 举报
回复
引用 3 楼 lkjlkjhong 的回复:
[quote=引用 1 楼 xuanbg 的回复:] 什么依赖倒置听上去高大上的很。说穿了解决方案其实简单到死:点击导航菜单时用反射动态加载业务模块。 这样所有的业务模块都不需要被依赖,于是你就可以在开发完主页面的导航栏后愉快地开始开发业务模块了,再也不用因为增加业务模块修改主页面的代码了。
你说的反射加载业务模块是指我根据需求动态加载页面路径?如果是业务逻辑层的话我知道,但是UI层怎么弄勒[/quote] --UI 是不是能跟163邮箱一样用代理模式做?每一个模块在打开页面打开时做加载动作,(友情提示,具体我也没尝试过)
飘渺公子 2015-05-22
  • 打赏
  • 举报
回复
引用 2 楼 u011573693 的回复:
不要纠结于所谓的理论,页面的模块化更多还是业务的模块化,最后还是底层功能和数据的模块化的
你是指三层架构,BLL层和DAL层是根据模块划分类吗?
飘渺公子 2015-05-22
  • 打赏
  • 举报
回复
引用 1 楼 xuanbg 的回复:
什么依赖倒置听上去高大上的很。说穿了解决方案其实简单到死:点击导航菜单时用反射动态加载业务模块。 这样所有的业务模块都不需要被依赖,于是你就可以在开发完主页面的导航栏后愉快地开始开发业务模块了,再也不用因为增加业务模块修改主页面的代码了。
你说的反射加载业务模块是指我根据需求动态加载页面路径?如果是业务逻辑层的话我知道,但是UI层怎么弄勒
1987andy 2015-05-22
  • 打赏
  • 举报
回复
不要纠结于所谓的理论,页面的模块化更多还是业务的模块化,最后还是底层功能和数据的模块化的
software_artisan 2015-05-22
  • 打赏
  • 举报
回复
什么依赖倒置听上去高大上的很。说穿了解决方案其实简单到死:点击导航菜单时用反射动态加载业务模块。 这样所有的业务模块都不需要被依赖,于是你就可以在开发完主页面的导航栏后愉快地开始开发业务模块了,再也不用因为增加业务模块修改主页面的代码了。

8,834

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 组件/控件开发
社区管理员
  • 组件/控件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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