Builder模式在网站自动生成系统中的应用

来源:互联网 发布:知乎漂亮女朋友体验 编辑:程序博客网 时间:2024/06/04 18:34
<script type="text/javascript">google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>一个网站的生成,包括复杂的建立过程,采取的技术不同,这个建立过程就不一样,所以类似Jive的forumFactory,在该系统中也有一个SiteFactory,用来定义不同的站点生成工厂。现在看看我的系统中站点的生成过程:1.生成站点结构2.生成按钮button3.生成同级别中的集合buttons4.更新同级别中页面指向新页面的链接5.生成新的页面这5步可以看成是5个部件,这个5个部件中任何一个的组装相当复杂。我们再看看将这5个部件组装起来的过程也比较复杂,站点管理中有删除页面 增加页面,这两中过程都要涉及上面5个部件,但过程次序不一样。根据Builder模式过程和部件分离的宗旨,很明显这里需要使用builder模式,这样可以将组装站点的过程和5个部件解耦。设计后,存在下列几个主要class:Pagebuilder 这是一个抽象类,封装了上面5个部件的组装方法,需要具体定义的有3个。addPageBuilder 增加新页面,继承pageBuilder类,具体实现需要具体定义的部件组装方法,如增加结构 增加子菜单按钮。delPageBuilder 删除页面 继承PageBuilder类,是其concrete之一,主要定义部件的拆装方法。IniPageBuilder 初始化页面,站点第一次建立,需要一些初始化页面,也是PageBuilder的concrete之一。PageDirector 封装站点的组建过程,比如Conctruct方法,就是封装了增加页面的组建过程,把PageBuilder中5个部件调出来,依据不同的条件和次序排列出增减页面的组建过程。客户端调用,比如新增页面:PageBuilder pageBuilder=new addPageBuilder(this,title,name,icon,description);PageDirector pagedirector = new PageDirector(pageBuilder);pagedirector.constructNewPage(previd,pid);
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 婚礼点烛台主持词 古代烛台图片 点烛台婚礼主持词 婚礼主持词点烛台 烛坤 烛式过滤机 浮世剑圣 烛残红泪 火烛银花 烛火 火烛 小心火烛前一句 小心火烛上一句 小心火烛的上一句是什么 灯烛辉煌 烛灯 烛烬 烛焰之力泰剧免费全集 泰剧烛焰之力 伪烛之焰 泰剧烛焰之力全集中字 泰剧烛焰之力免费观看 烛焰之力泰剧免费观看 太阳烛照 烛照 犀燃烛照 结爱犀燃烛照 纸船明烛照天烧 傲天魔妃之羽仙倾世 烛芯落落 烛阴 烛阴氏玄己 烛霄作品 心动难耐 烛霄 烛霄 咱都矜持点儿 烛霄 烛龙 茶烟 和烟 烟图 好烟 烟价