2011年暑假的时候,产生了设计一个cms的念头。采用的是asp.net技术。

   主要原因有五

原因一:公司不断的在做新站,新站(三到四个)的维护量比较大。新站和老站用了几个新闻管理后台。程序员维护工作量比较大。而且老代码写的不是太好,比如like横飞,sql乱爬。修改起来牵连太多,非常容易出错,出错了,找到错误需要花费大量时间。

原因二:上一家公司,有一个部门,专门做站群,大约10-30个人,天天上seo站,这些站都是程序员操作,一个人花几周的时间做一个站,听说做了好几千个,很多站之间没啥区别,就是样式换换,url换换,title换换,数据源换换。当时在公司,觉得这样好傻。说别人傻么,自己比较提出解决方法,否则傻的就是自己了。

原因三:解决程序员和美工编辑的分工,美工编辑上个专题,直接跑过来,找个程序员,就叫上,每次都吓到我。程序员应该多花时间学习新技术。重复劳动,交给系统把。

原因四:做了这么久的asp.net b2c网站,深深的感觉asp.net编译一次不容易。项目变大,页面数量变多的时候,编译发布一次,那个叫喷血啊。之前机器性能差,编译一次,要等好几分钟,天天啥事情不用干了,等vs工作。

原因五:url自己重写,方便seo,自己配置,控制能力更强。特别体现在二级域名上边。

还有性能,缓存,模块重用等等等等,都是问题。

中间插上一小段,曾经看到一个兄弟做项目用到url重写,看了一眼http.ini文件,吓到我了,每个城市地区都加上一条映射。一个项目粗看,起码加上了成百上千条。口味太重。

例子:

http://www.xx.com/suzhou/1.html

http://www.xx.com/nanjing/2.html

 

 

本人比较懒,在年轻的时候也受到过开源项目的伤害(主要是代码看不懂,项目配置不起来),所以就按照工作需求设计。nxcms主要是单个web,实现多站系统,并且系统间相对独立,这样可以快速上新站,并且后台采用通用方式。页面采用模块开发。

使用的技术也很简单,VTemplate,dbhelper,log4net

特别要感谢VTemplate这个开源项目。http://www.cnblogs.com/kingthy/,曾几何时,为了提高性能,我还拿页面拼string,有了模版技术,开发起来,爽多了。

上图:网站结构图

 

页面请求流程:

用户请求-》iis-》识别用户域名二级域名等信息-》urlmodule-》加载页模板-》数据绑定。

数据简图:

页面管理融合了页面的基本信息,url重写信息等,页模板的保存。并且开除编辑后台,让编辑最快速的上线专题。

新闻站seo理想结构,以下是我目前的粗浅认识:

http://www.xx.com/

http://www.xx.com/html/

http://www.xx.com/html/index_2.html

http://www.xx.com/html/1.html

http://www.xx.com/html/jc/

http://www.xx.com/html/jc/index_2.html

http://www.xx.com/html/jc/1.html

 

图片和资源管理,当然也是通过数据库管理,接下来的文章,我会对每个用到的技术点进行分析。比如url重写,比较我在项目中对缓存的理解。并且之后的文章,我还会写到程序员,美工编辑,通过系统协同工作。

项目的开发,参考了discuz的开源代码,对此表示感谢。

这段时间,我也在研究flex,android,flex开发分成二部分,一个是red5开发视频服务器,还一个主要是针对pad。有兴趣的朋友,可以加我的微博,一起讨论哦

http://weibo.com/codetrend

posted on 2012-01-16 15:05  编程趋势  阅读(2147)  评论(4编辑  收藏  举报