在经过了一段时间的设计和重构,对网站后台设计有了更多更详细的想法,故写在这里和大家分享一下,本人是个学生,不是什么高手,也不是一出口就是什么模式什么模式的,也有迷惑,在这里分享我自己的项目,主要是为了和大家共同交流和学习,当然肯定有很多谩骂的人,希望你能照顾一下小弟我,我真的不是高手,只是喜欢写代码,算是一个programmer吧,希望说垃圾的人能够提出意见,我也能加强学习,当然,最主要的是和大家交流.
论坛相关地址:
http://www.shangducms.cn/bbs/topic.aspx?topicid=146
主页演示地址:
http://www.shangducms.cn
下载测试地址:
http://www.shangducms.cn/download/shangducmsNT2.0beta.rar
先说一下简单的安装,下载后,支持vs2005/2008 数据库支持 sql 2000/2005 .net环境支持2.0/3.x,下载后配置好web.config里相关的配置,运行install/install.aspx安装,为了保证虚拟主机数据库能够连接数据库服务器,必须自己建立一个数据库,默认为shangducms.
再次申明,我不是高手,对这些东西只有一些自己的理解,欢迎交流!!..
Shangducms NT 设计框架:

原来有个开源的程序,是小孔子,我当初设计的时候根他的那个差不多,都是一个混乱的设计模式,可能这里不能叫设计模式,一个操作,都包含着一个方法,效率和代码上都不是很好,所以我设计了一个简单的框架,就是有一批类,和基类,类主要是用来发布新闻,删除评论,留言等功能,而基类是可以显示UI层的类,主要是用来显示和生成模板用的.这样代码就利用的很多了.
比如一个博客首页页面的代码:
public partial class soundbbg_Default : System.Web.UI.Page


{
protected void Page_Load(object sender, EventArgs e)

{
try

{
System_blog_PageUI default_page = new System_blog_PageUI();
default_page.Blog_Default_Build(Request.QueryString["uid"], Request.QueryString["page"], Request.QueryString["bigclassname"], Request.QueryString["action"], Request.QueryString["tag"], Request["Text1"]);
Response.Write(default_page.default_template);
}
catch (Exception ee)

{
//Response.Redirect("fans.aspx");
Response.Write(ee.ToString());
}
}

}

这样就非常简单了,只要调用参数就可以了,不知道这个是不是所谓意义上的3层构架模式,因为网上关于这个3层模式讲的很多,但是都没具体到实现上,所以我就暂时说成3层构架吧.. =.=
在对代码重构的同时,我学习到了很多,也了解到了很多知识,在这里可以说是分享一下吧,其实这个世界上有很多设计模式和重构方法,看的是《重构与模式》一书,但是按照现有的模式,有的时候并不是最完善的方法,比如网页设计,用一个框架,基类,或者是接口,来达到类或对象的相对通信,过多的封装反而让这个类和接口复杂,然后让调用更加麻烦.
在代码重构的过程中,其实代码的复杂度,(个人看书认为),并在真正意义上取决代码的长度,有的代码长度很短,短小精悍,有的代码很长,但是就不代表代码冗余,或者复杂,我在重构的过程中希望将过长的代码划分为很多很多的子函数,通过调用来达到目的,但是后来发现这样做,越到后来,反而觉得不知道该怎样去使用了,相反的,回到模式里面去,一个良好的模式让代码的复杂度更加低了.
所以我认为模式和重构反而相辅相成,如果模式好,可能重构会很好,但是不能为了模式而模式,去用一串复杂的代码显示一个hello world,我认为也是不必要的.
返过来到我自己的系统,我在重构的时候,的确发现了前期设计中,(貌似没有前期设计)遗留下来的问题,这个问题导致后来的重构出现了很多复杂的情况,比如生成,同一个类的操作覆盖等情况,当然最后只是基本上解决了,在代码的效率上还有很多有待完善的地方.
于是我想到一个人在根我email交流时候说的,有的时候软件非常适合的思想方式不一定适合网站开发,而网站开发的模式也不一定适合c/s开发,但是往往它们又很相同,现在看来我在某些方面确实可以理解了,希望与大家交流.
ps:最后说一点,这个shangducms NT是一个学生项目,因为我是学生,如果有不好的地方希望能提出意见,虽然我现在写的内容可能很肤浅或者很bc,但是每个人都有成长的过程,希望大家能维护好国内的程序员开发环境(我发现很多"高手"程序员很喜欢攻击"菜鸟"程序员,呵呵,导致很多人都没有学下去的信心了),当然,这个系统也是开源的,而且cs代码都有,原封不动的发布了.希望能获得各位高手们的意见.
带采集,权限分配(精细到页面,设计的不太好,希望指点),新闻,博客,知道(没完善),下载,评论,积分等功能还是有的.
谢谢了.
各位大哥,我已经修改成N层模式了,在测试中,读完了模式与重构和Petshop,感谢大家的意见!
我的mail
soundbbg@live.cn