- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CMS系统模版引擎的设计-基本类型
写博文写教程性质的内容,大家比较喜欢,具体的项目设计方案关注的人比较少,而且思路也不一定说的清楚,本身写博文就比较辛苦,作者再偷点懒,那基本上就是一篇废文。尽管如此,我还是想写一下我做过的一个项目的模块设计——CMS的模版引擎。呵呵,叫成“引擎”就是夺人眼球而已。其实就是一个标签解释的过程模块。
做过网站的朋友都对CMS很熟悉,有的朋友也接触过N多CMS系统,国内比较流行的有dedeCMS,phpCMS,帝国CMS,KingCMS,PowerEasyCMS等等,他们都有个共同的特点,就是前台的实现是模版标签机制。标签的好处就是可以让非专业开发人员通过特定的标签实现数据调用。一段标签表示一种数据的调用。那我的这个CMS也是干这事的,不过是用.NET实现的。实现思路也是自己琢磨出来的,如有雷同,那真是太巧合了:)
从哪里开始讲呢?还是从业务开始吧!
当公司接到一个网站的单子后,就要估算价格。估算价格一般都要问开发经理这个网站的开发周期和难度(方便忽悠好要价),开发经理也就是我们技术leader,他会估算该网站大概需要多少页面,需要什么子模块,需要干多久(假如没有CMS的话)。呐,这里就有个重要的信息,就是需要多少页面和什么模块。
做一个网站我们肯定要考虑他的功能模块,也要考虑多少页面。
功能模块一般有 文章、图片(相册)、视频、投票、留言、评论、下载、单页、自定义表单等等。我们介绍模版,这些功能模块就不多提了。
页面的概念便是需要多少去制作的Page.aspx。一般有首页(子站首页)、封面页(可以理解为栏目封面)、列表页、详情页、独立页(关于我们之类的),不同的数据类型还不一定一致,比如新闻和下载都是不一样的页。而模版的话不可能是要制作人员创建aspx的,他们只会用模版。所以通过这些信息我们能想到需要设计哪些类呢?
Page类、Template类、Label类,页面、模版和标签。
Label涉及到具体的标签系列,咱暂且不说,先看Template如何设计?
一个模版有何设计的?有的CMS系统就是直接读取静态文件,但是我说这样不好,我们要在代码里有他的具体类型才能更方便的处理。
代码
????///?summary????///?模版类????///?/summary????public?class?Template????{????????///?summary????????///?模版ID????????///?/summary????????public?Guid?TemplateId?{?get;?set;?}????????///?summary????????///?模版名称????????///?/summary????????public?string?Name?{?get;?set;?}????????///?summary????????///?模版内容????????///?/summary????????public?string?Content?{?get;?set;?}????????///?summary????????///?是否为部分视图????????///?/summary????????public?bool?IsPartial?{?get;?set;?}????}
?
初步设计就是如此,增加了一个IsPartial属性,因为我们的模版或许会作为部分视图在其他模版里调用,就像UserControl一样。
那么Page类的设计就略显复杂了。我们想访问一个Page起码要有访问路径吧,所以就要有一个UrlPattern属性,也就是访问规则,因为像详细页一般只是参数的变化,所以URL不能写死,只能是一个规则。既然有规则,也会有一些参数,而且参数不一定是?name=value形式,可能是/value/value1形式,所以我们还得设计一个UrlPattern类。
代码
????///?summary????///?Url访问规则????///?/summary????public?class?UrlPattern????{????????///?summary????????///?具体规则????????///?/summary????????public?string?Pattern?{?get;?set;?}????????///?summary????????///?正则引擎????????///?/summary????????public?Regex?Regex?{?get;?set;?}????????///?summary????????///?参数列表????????///?/summary
您可能关注的文档
- autocad3维实体生成2维视图方法2个例子.doc
- Auto—CAD使用方法阶段性总结.doc
- AutoLISP绘制3维螺旋楼梯.doc
- authorware的介绍和显示图标的使用.doc
- Axlykba金融期货—学习黄金投资指南.doc
- AutodeskRobot结构的设计剖析软件基准初涉手则.doc
- Avjdeso城市外来务工青年度学习需求调查报告.doc
- away的用法-UP及down的动词搭配.doc
- axzzkfw关于我县工业经济调结构促转型的基本情况和对策建议.doc
- A—0参考范本08级论文设计格式.doc
- 市委常委、秘书长在2025年市直机关党的工作暨纪检工作会议上的讲话发言材料.docx
- 迎接上级纪检监察工作组调研时的汇报发言材料.docx
- 市长在2025年全市城区控违治乱工作推进会上的讲话发言材料.docx
- 副书记在2025年“打好党建引领基层治理硬仗”推进会上的讲话发言材料.docx
- 在国资国企系统2025年重点工作推进会上的讲话发言材料.docx
- 市长在2025年全市综合交通大会战指挥部会议上的讲话发言材料.docx
- 企业公司集团2025年度第一季度开门红领导动员会部署讲话发言材料(报社行业)2篇.docx
- 委党组书记、主任在2025年省发展改革委民营企业座谈会上的讲话发言材料.docx
- 市纪委书记在全市“纪检监察工作规范化法治化正规化建设年”行动动员部署会议上的讲话发言材料多篇.docx
- 沃尔玛的成本管理分析.docx
最近下载
- T_CERDS 3-2022 企业ESG评价体系.docx
- 冠脉介入治疗护理.pptx
- 2025 英语中考阅读理解解题技巧之最佳标题学案(含答案解析).docx VIP
- 江苏中烟工业公司企业文化建设项目实施方案.docx VIP
- 《余华的《活着》》教学设计(江西省县级优课).docx VIP
- 2025年北京市人大附中普通中考模拟测试(一)英语试题含答案.doc VIP
- 2025年省考超大杯刷题-申论套卷四.pdf VIP
- 737NG-拆装-VSV作动筒.pdf
- (PEP)人教版六年级下册英语《Unit 2 Last weekend》教学设计.pdf VIP
- 螺杆式压缩机维护检修规程.doc VIP
文档评论(0)