项目实践-导航管理一

工作三年了,自己做过的项目也不少,有电商的、信息分享的、企业管理的、物资管理的等等,当然,大部分都是数据(或者说业务)驱动的CRUD系统,而自己私下做的项目也并没有完整的保存下来,这真是一个遗憾,虽然不优秀,但是一直从互联网获取知识却从未向互联网贡献知识,所以想写一个系列来介绍自己对项目开发的理解,使用的技术是ASP.NET MVC5,使用的前端框架是angular、bootstrap。

这次想做一个导航管理的功能,做过OA、ERP、CRM等等系统的朋友对这个功能都会很熟悉,网上也有一大堆现成的源码,一直做程序的搬运工,这次我来做一次程序的生产者吧。

首先是项目结构,我认为当系统确认了要做什么后就需要先确定项目的结构,项目的结构应该跟业务相关联的,简单的项目用经典的三层架构来部署项目结构就可以了,如果项目复杂的话就需要基于三层架构的思想去扩展,例如招聘系统中的职位推送的功能,这个功能要求需要把有效、正确、实时的数据推送给客户,要完成这样的需求关注点非常多,所以我们需要单独出这个功能模块来开发,还有就是电商系统的订单处理,这个功能不复杂,但是他的并发量会比较大,我们也需要单独开发一个订单处理中心的功能,还要把它设计成基于消息(或者事件)驱动的分布部署等等,回到正题,我们这次是要开发一个导航管理,这个功能并不复杂,我们使用经典的三层架构便可完成。

项目会有一个前台、一个后台,前台会根据当前登录用户显示他能看到的导航,后台提供部门管理、用户管理、角色管理、导航管理这些功能,所以从业务上我想把项目分成一个前台一个后台,分别是Com.YiLongChina(前台)、Com.YiLongChina.Admin(后台),这两个算是三层架构里面的UI层或者说路由层,这里我们可以使用ASP.NET MVC区域的功能建一个Admin的区域,然后我们再做一个区域分离。

业务的实现我会放在一个类库Com.YiLongChina.BLL,当然也会建立一个Com.YiLongChina.IBLL接口类,控制反转(IOC),基本的项目都会使用这个技术来达到模块与模块的解构,以上这些可以使三层架构里的业务层,也是我们大部分程序员真正关心的,我认为大部分程序员是在跟业务打交道,跟技术打交道的大都是架构师了。

数据层(DAL),这里提供都是对数据存储(持久化)的支持,或者是这是IO,很多系统在开始编码的时候,可能他的数据库还没确定或者数据库操作的方案也没有确定,因为业务的规模会决定该使用什么样的IO技术支持,所以架构时要做到高层(业务层)不会依赖底层(数据层),这里我们新建一个类库Com.YiLongChina.DAL,还有一个接口类库Com.YiLongChina.IDAL,不过因为我已经确定了数据存储方案,所以不再需要Com.YiLongChina.IDAL接口,这里省略了。

剩下的是一些公共的类库Com.YiLongChina.Common,公共方法的都会放在这里。


       

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值