征求合理的架构设计........
每个项目,按功能上分,都可以分为几个主要的模块,就取最常见的"进销存"来说吧
按功能可以分为:进、销、存。现有两种构架(比如)
第一:分4个文件侠,分别为:jin(进)、xiao(销)、cun(存)、common(共用层)
而jin、xiao、cun中又分别增加三个文件侠,用来放:
BusinessService(用来放sql语句的类)、DataService(用来访问数据库的方法类)、
UserService(用来存放页面如***.aspx文件) 。同理,xiao,cun也有这样的三个文件侠用来存放,表示层,逻辑层,数据访问层....common用来放共用的东东.
第二:分3文件侠,分别为:classes(类)、webs(页面)、common(共用)
classes用来存放各种类(外观层以f_开头,数据访问层用d_ 开头,逻辑层用b_开头)
webs用来存放web文件(***.aspx),common用来存放共用的东西.
上两种构架:本人最简单的看法是:第一种功能层次清晰,但走进去就像迷宫一样,文件侠太多,反而不好维护(同时页面跳转也不便)。第二种虽然没有第一种的好处,但架子也很清晰,f_ d_ b_可以详细地知道是那一层的方法,同时页面都放在Webs文件侠当中,便以维护与管理。
请大家就以上两种提出建议好吗?公司的项目不是很大(可以说小)。同时也欢迎更合理的其它架构。一经采用,80分给定(其它20用来up的).
问题点数:100、回复次数:14Top
1 楼dbserver(寻找完美的自我)回复于 2003-09-03 19:55:18 得分 0
自已先upTop
2 楼thp(老滕)回复于 2003-09-03 19:58:43 得分 2
关注Top
3 楼jvhmr(午后阳光)回复于 2003-09-03 19:58:50 得分 10
楼主看过《asp.net 高级站点编程》这本书吧。。。。?Top
4 楼sungoodnews(Microtoby)回复于 2003-09-03 20:19:15 得分 10
《ASP.NET web 站点高级编程 —— 提出问题、设计方案、解决问题》Top
5 楼dbserver(寻找完美的自我)回复于 2003-09-03 20:38:06 得分 0
我希望大家就我的提问给出一点建议!Top
6 楼jeansboy(放开那只企鹅)回复于 2003-09-03 20:46:37 得分 10
这种软件设计大多数是繁琐的数据库操作和权限的问题。所以以我的思路来看,先按照
DataBaseProvider -> Common -> BasePages -> AspNetControls -> Pages这种方式来设计,Common主要是提供一些公用的类和数据的逻辑层,BasePages主要是ASPNETpage的一些公用元素,例如NAVBAR、MENU等等。然后把各种模块例如登录、注册、上传表单做成web controls,提供给PAGES调用,这样应该比较清晰吧。另外还有一种方法,由于时间问题,下次探讨。 ;)Top
7 楼xwy2258588(答案)回复于 2003-09-03 20:51:42 得分 2
upTop
8 楼ColdSummer()回复于 2003-09-04 07:44:51 得分 34
建议研读一下IBuySpy Portal的源程序,这是一个Intranet(内联网)程序的模范构架,如果感觉有困难,可辅以《ASP.NET Intranet》,WROX出版社的。这本书对IBS进行了详细阐述并对如何扩展IBS架构进行了很好的说明。
另外《ASP.NET web 站点高级编程 —— 提出问题、设计方案、解决问题》这本书也很有借鉴意义。这本书采用的方案近似于你的两个方案的综合:进销存分别设命名空间和子目录,对每一项再分别设数据访问层、业务逻辑层和用户UI层的目录。
论功能强大,结构严谨,Duwamish可为借鉴。
论功能合理,结构轻灵,Petshop可为借鉴。
论功能全面,架构完整,IBuySpy Portal可为借鉴。
前两个是电子商务模型,后者是内联网程序模型。
工作流程序的模型,开源社区好像还没有见,希望有发现者与我交流。Top
9 楼xmqy110(氧气)回复于 2003-09-04 07:59:22 得分 10
studyTop
10 楼dbserver(寻找完美的自我)回复于 2003-09-04 09:30:16 得分 0
感谢ColdSummer() 的建议!
也感谢 jeansboy(jeansboy) 的合理方案!Top
11 楼linyoung(灵羊)回复于 2003-09-04 13:23:19 得分 2
upTop
12 楼kari(漂流)回复于 2003-09-04 14:27:47 得分 10
建议你看一下PetShop个架构,比较好。但是我觉的他把SQL语句放到了代码里似乎不太好,我把SQL语句全部提出来放到了数据库表里了。Top
13 楼dbserver(寻找完美的自我)回复于 2003-09-05 12:44:34 得分 0
感谢 kari(漂流)Top
14 楼xiongliang2003()回复于 2003-09-05 17:29:57 得分 10
怎么都是文件夹,楼主是只做一个工程?
第一种页面跳转太不方便了, 第2种如果你嫌不太清晰,你可以在webs目录 中再加目录(进,销,存)来细分下模块 或者命名有点规律点,这样同一模块的的页面会挨在一起Top



