2004-9-27+ 我的论坛-Astrophel!!

我是.net的初学者,所以这个论坛做的很简单,只有一个版面,而且没有其他的功能,不过以后会慢慢完善的!
    ----下载-------
体系介绍:
用了一个简单的三层系统来开发,另外还有一个辅助组件。
data主要用来处理和数据库的交互操作,business是带有crud功能的业务实体,而最前面的ui则是具体的页面了,tools装了很多的东西,包括一些论坛设定、自定义的异常类、数据库操作辅助类及其他。
   ---具体的类图---
具体分析:
1. 数据库模板的使用
2. 带有crud功能的业务实体的使用
3. tools组件介绍
3.1 config:从web.config获取论坛的设定
3.2 helper:有方便对数据库的操作和对页面操作的一些辅助方法
3.3 redexception:自定义的异常类
3.4 rols:这是一个enum,装在config里面了,用来方便操作用户的角色
4. 和.net提供的forms验证相结合的自定义的验证体系:redprincipal/redidentity
5. 和mssql紧密相连,包括用procedure实现的分页,用view实现的主题详细页面,用trigger实现的关联操作
6.使用了forms验证的verbs选项来控制未登陆者的活动
7.ui的页面部分使用了公共基类redpage,在其中有自定义的异常捕获机制、自动加入页眉和页脚控件的pageload事件和一些方便操作的属性
部署解决方案
我对vs的安装系统还不是很明白,所以各位如果想在本机运行该论坛,只能用下面的笨办法了,或许下一版本推出的时候会有一个安装程序,这样就不用这么麻烦了 -_-o
---项目文件----
1.在e盘新建一aspx文件夹
2.使用iis将aspx其设为虚拟目录
3.使用vs.net在aspx下新建Astrophel空白解决方案
4.在Astrophel下新建UI的web项目,然后将其移除
5.将解压的文件原封不动的复制到Astrophel,将其覆盖!(这么做的目的就是想在把ui设成虚拟目录,因此你也可以直接在iis里设置),这时如果切换回vs.net,会弹出对话框,依次选择“改写”“否”,最后还会弹出sql server的连接设置,取消先。(如没有这些,则可以选择“添加现有项”手动把项目添加进去)
6.现在看你的解决方案,如果没有意外的话,应该有5个项目文件,点开ui项目,应该可以正确的查看里面的文件!(其实我们上面做的这一些,都是为了这个web项目)
---数据库文件----
7.在sql server里新建一个Astrophel的空白数据库,然后在里面添加一个“id:kerry;password:notus;role:db_owner”的用户
8.打开vs.net的服务器资源管理器,新建一个到Astrophel的数据连接,
9.点开AstrophelDB项目--Create ScriptsCreate--Scripts.cmd,运行之(注意可能一开始的时候没有运行选项,这时应先打开一遍,然后再用右键点,就有运行选项了),弹出sql server登录对话框,其中数据库就填刚才的Astrophel,然后使用sa登陆,确定后会弹出运行窗口,完成。
10.如果没有意外的话,现在查看数据库,便会发现诸如table/procedure/view等项都设置好了。
---运行----
11.现在打开ie,键入http://localhost/aspx/Astrophel/ui/Pages/List.aspx,如果上面都运行良好,那就应该可以查看主页面,并进行相应的操作。
经验心得
1.“通过私有构造函数强化不可实例化的能力”
2.“避免重复创建对象”
3.“多考虑重用而不是复制”
4.善于使用用户控件,注意给控件设置易于使用的对外接口
5.forms验证的verbs选项在使用的时候必须成对出现
6.把业务实体需要的特征值放入轻量化的标量数据中

最后的话
在论坛将要完成的时候,我接触到了petshop3和〈effective java〉。
〈effective java〉这本书我是今天才从图书馆发现并借出来的,我只看了前面的几页,但是立刻就产生了作用,我把论坛里数据操作的部分从basedata拿出来,放到了helper里面,并且认真的做了在使用返回类的属性时的检查,果然,语言不是主要的,思想才是王道!推荐和我一样水平(刚刚对.net有了全面的认识,急待进一步的提高)的人都去读读这本书
毫无疑问,petshop3给我的震撼是巨大的,在这里就不多说了,但是希望大家都可以接触到petshop3。

路漫漫其修远兮,吾将上下而求索……

posted on 2006-06-29 18:21  Notus|南色的风  阅读(381)  评论(0编辑  收藏  举报