问题:水平有限,想请教一下【我说了自己的想法,但不知道其中由什么要注意的,或者有什么更好的方法。】
(1)公司内部,有几个项目,有三个项目用的是传统的三层架构,由于三个项目都是独立创建的,每次更改Model,或者是DAl层,都得分别对三个项目进行更新。现在想将底层统一。不知道怎么处理比较适合。【个人想法:将三个项目的底层,MODEL,DAL,BLL,都抽出来,留下表现层,对抽出来的底层,新建一个项目单独做维护,需要修改时,就只修改这个项目,由于使用了SVN,所以可以把修改后的项目编译,然后提交到SVN,其他项目从SVN更新一下就可以了。】
根据我个人的想法,不知道哪里欠妥,在发布到服务器时又该注意些什么,请清楚的指导一下。
(2)还有两个项目是用EF的,不知道怎么处理比较好?【个人觉得可以同上】
程序修改一般都是改需求,增加字段啊什么的,使用传统的三层拼写 sql啊,代码生成器啊,不是很好维护,最好是用面向接口编程,使用ADO.NET和接口,抽象化编程。
首先,谢谢您的回复。
现在的现实状况是没办法将这些如你所言,将以在线上的系统推倒重构,我现在能做的只是在原有的基础想到办法,解决问题。
@五少:实在是看不懂的话,就不要太纠结了(时间和效率很重要),自己封装方法对数据进行增删改查,当然有些地方可能要用到事务处理。
你现在的水平问这么理论的没有用,实际一点的就是搭建一个三系统的测试环境,着手试试你目前想到的方法,看看有什么弊端。 然后平时经常看书,思考,重构,折腾,作死,水平自然慢慢上涨。
首先,谢谢您的回复
我不是在探讨理论,我是在寻求解决的方式,我也不是闲的没事瞎折腾,我也不是伸手要答案,我也说了自己的想法,但是水平问题,我才需要指导,我知道需要动手去做,我也在做,我只是想问问,当中有没有什么药注意的,或者有更好的解决方式。比较是在线的系统,我不可能无所谓的去做···········
@五少: 解决的方式就是搭建测试环境啊。
其他的是我多嘴了。
三个独立的项目你为什么想合到一起?独立的就独立管理啊。
除非三个项目有很大部分相同,这样你可以考虑抽出来,三个项目引用这个项目。但是这种都尽量是组件类型,与数据库相关的可能还会比较紧密。
首先,谢谢你的回复。
目前只是三个,以后还会有,而且加个字段得全部去改,这个也是挺麻烦的,不能全部推倒重来,只能尽可能的减少工作量
dal层共用 一套
业务逻辑层各顾各
ui各顾各
更好的做法是 各个项目分库 每个项目一个库 进行隔离
项目分级
然后做跨库处理
同时 各个项目之间的 dal可共享 但是bll独立维护
首先,谢谢你的回复。
你说的分库是说,各层分到不同类库的意思?如果是,那我的项目是这么分的。不只是DAL的问题,还有model层,每次增,改字段,都要改。我是不太清楚,其他人,对于这种情况是怎么处理的,几个项目是怎么更好的共用一个底层,既能方便根据业务需求进行修改,又能方便部署发布
@五少: 实体分为 数据实体 数据实体和 数据库的表对应 所有项目公用一个实体 一个dal
但是bll独立出来
实际上 bll 和dal的实体应该是 各自独立维护的
而且 view的实体 应该独立于 bll和dal 但是我们常规的设计并没有区分的这么细致
所以在你这个项目中 dal entity 共用就好了