`
neptune
  • 浏览: 362008 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

监理---设计模式(必看)

阅读更多

小弟工作8年,6年java系统经验。最近做一个项目,规模不大(3个人一年项目),但甲方要求要有监理公司,公司名具体不方便说出来。

项目使用Velocity1.6.1+Sitemesh2.3+Spring2.5.6+Hibernate3.3.1,层次MVC+LOGIC+DAO,由于项目将来可能访问量大,重做了Session管理(把会话信息存储在Cookie中),以方便负载均衡。cache模块基于接口实现可切换是ehcache还是memcached,将来访问量大,需要多机部署时将切换到memcached。目前系统环境是hp-ux小机,将来访问大时,可用多台hp-ux或多linux pc服务器,项目情况就是这样。

其在我们系统做到80%(做国内政府的项目,需求是一点一点挤出来的,没有一个完整的需求)时提出“设计模式”这个见意,见意我们用他们的给的设计模式重构。

小弟由于“个人能力有限”java设计模式的书也看过几本,但不能理解监理给的“设计模式”,小弟冒着被javaeye扣分的风险发此贴,还请各位大牛帮给把把脉,看看这些“设计模式”在“实际的项目”中是否可行,监理提出了要求,但没具体给出怎样做,也不知道他们要求的这些东西有怎么用 ?

 


<!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]-->

致: SSS公司

 

事由:

依据《GB/T 19668.5-2007  信息化工程监理规范 5部分: 软件工程监理规范》规定,监理机构XXX公司对承建单位SSS公司提交的本项目的需求、设计、评审文档进行了审查、评价。(审查文件列表见附件)监理机构发布本文件建议XXX采用设计模式改进软件设计,重构相应代码。

内容:

设计模式是针对软件开发问题的巧妙、通用和可复用的解决方案。通过设计模式组织程序中的对象,使其进行通信不牵涉相互的数据模型和方法,易于编写和修改,提高代码效率,在大型设计中具有不可或缺的关键作用。把设计模式作为一种监理分析工具,我们可以准确地捕捉到设计方案中最重要的部分。

 

<!--[if !supportLists]-->1、 <!--[endif]-->组合模式(公路信息Composite模式)

 

将对象组合成树形结构以表示部分- 整体的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。

 

XXX服务引用数据中心提供的数据资源。公路系统由若干不同等级公路组成,一条公路包含若干公路设施和相关信息。可以通过component.operation()方法访问公路信息的惟一实例。component对象代表公路信息中资源体系的顶端元素,composite 对象代表公路信息中资源体系的各层元素。

公路信息是一个多层结构,因此它完全符合Composite模式的意图:“将对象组合成树形结构以表示‘部分-整体’的层次结构。Composite模式使得用户对单个对象和组合对象的使用具有一致性。”使用组合模式,简化了现有信息资源的访问方式,预留将来扩充其他资源的余地,

对原数据库设计,仅需增加标识父节点字段即可。

 

 

<!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter" /> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0" /> <v:f eqn="sum @0 1 0" /> <v:f eqn="sum 0 0 @1" /> <v:f eqn="prod @2 1 2" /> <v:f eqn="prod @3 21600 pixelWidth" /> <v:f eqn="prod @3 21600 pixelHeight" /> <v:f eqn="sum @0 0 1" /> <v:f eqn="prod @6 1 2" /> <v:f eqn="prod @7 21600 pixelWidth" /> <v:f eqn="sum @8 21600 0" /> <v:f eqn="prod @7 21600 pixelHeight" /> <v:f eqn="sum @10 21600 0" /> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /> <o:lock v:ext="edit" aspectratio="t" /> </v:shapetype><v:shape id="_x0000_i1026" type="#_x0000_t75" style="width:336.6pt; height:243.6pt" mce_style="width:336.6pt; height:243.6pt"> <v:imagedata src="file:///C:\Users\ZHANGD~1.DYI\AppData\Local\Temp\msohtml1\01\clip_image001.gif" mce_src="file:///C:\Users\ZHANGD~1.DYI\AppData\Local\Temp\msohtml1\01\clip_image001.gif" o:title="composite" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

 

UML      Composite模式    1

 

<!--[if !supportLists]-->2、 <!--[endif]-->代理模式与桥模式(数据中心 -- ProxyBridge

 

数据中心提供使用者需要跟踪文件系统中的资源的方式。贯穿其整个生命周期,资源一直在发生变化:它们被创建出来,它们的内容被修改,它们被替换成其他的版本,它们被删除,有时还会被重新创建。与资源相关的信息在其整个生命周期中不断发生着变化,但资源本身的身份(唯一标识)是保持不变的。使用者仅仅需要通过某种简单的方式引用资源的惟一标识,而不必关心资源在工作区中的状态——我们不希望被一个很可能已经失效的状态束缚住。

监理机构建议解决这个问题的办法是:只向使用者提供访问资源所需的句柄(handle),而不是提供完整的资源。将ProxyBridge 这两个结构型模式加起来,就可以恰如其分地描述这个设计。Proxy模式告诉我们如何控制对一个对象的访问,Bridge模式告诉了我们如何将接口与实现分离,它们中的任何一个都无法单独满足该设计的完整意图。按照《设计模式》中的叙述,这两个模式各自的意图是:

 

 

 

 

     Proxy—“为其他对象提供一种代理,以控制对这个对象的访问。”

 

Proxy应用场合:

   远程代理 为一个对象在不同的地址空间提供局部代表,隐藏对象存在于不同地址空间的事实。

虚拟代理 根据需要模拟开销很大的对象,通过它来存放实例化需要很多资源的真实对象。

安全代理 控制真实对象访问权限。

智能指引 当调用真实对象时,代理处理另外一些事。

数据中心符合Proxy应用场合全部要求。

 

<!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75" style='width:303.6pt;height:189pt'> <v:imagedata src="file:///C:\Users\ZHANGD~1.DYI\AppData\Local\Temp\msohtml1\01\clip_image002.gif" mce_src="file:///C:\Users\ZHANGD~1.DYI\AppData\Local\Temp\msohtml1\01\clip_image002.gif" o:title="proxy" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

 

UML      Proxy模式    2

 

 

 

 

 

 

 

 

 

 

Bridge(又名“Handle/Body”)——“将抽象部分与它的实现部分分离,使他们都可以独立的变化。”

 

<!--[if gte vml 1]><v:shape id="_x0000_i1028" type="#_x0000_t75" style='width:336pt;height:219.6pt'> <v:imagedata src="file:///C:\Users\ZHANGD~1.DYI\AppData\Local\Temp\msohtml1\01\clip_image003.gif" mce_src="file:///C:\Users\ZHANGD~1.DYI\AppData\Local\Temp\msohtml1\01\clip_image003.gif" o:title="bridge" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

 

UML      Bridge模式    3

 

 

<!--[if !supportLists]-->3、 <!--[endif]-->访问模式(遍历资源—Visitor模式)

如果手工编码调用members()去遍历资源树,会在使用者程序中造成大量的流程控制代码。可以将这些代码提取到一个visitor对象中。打开《设计模式》,我们看到Visitor模式的意图是“表示一个作用于某对象结构中的个元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。”

 

 

 

 

 

 

 

 

 

<!--[if gte vml 1]><v:shape id="_x0000_i1029" type="#_x0000_t75" style='width:350.4pt;height:399.6pt'> <v:imagedata src="file:///C:\Users\ZHANGD~1.DYI\AppData\Local\Temp\msohtml1\01\clip_image004.gif" mce_src="file:///C:\Users\ZHANGD~1.DYI\AppData\Local\Temp\msohtml1\01\clip_image004.gif" o:title="visitor" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

 

UML      Visitor模式    4

 

 

 

<!--[if !supportLists]-->4、 <!--[endif]-->观察者模式(数据中心跟踪资源的变化——Observer模式

工作区中的资源会不时发生变化,这可能是因为用户操作了这些资源,也可能是因为重新与本地文件系统进行了同步。不论是哪种情况,对这些资源进行观察的使用者需要立即收到准确的变化信息,这样它们才能相应地更新自己的状态。为了观察资源的变化情况,工作区提供了一个资源监听器,这是Observer模式的一个变体。监听器被注册在工作区上,后者在Observer模式中扮演“被监听目标”(subjece)的角色,当资源发生变化时负责发出通知。

 

 

<!--[if gte vml 1]><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:310.8pt;height:231pt'> <v:imagedata src="file:///C:\Users\ZHANGD~1.DYI\AppData\Local\Temp\msohtml1\01\clip_image005.gif" mce_src="file:///C:\Users\ZHANGD~1.DYI\AppData\Local\Temp\msohtml1\01\clip_image005.gif" o:title="observer" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

 

 

 

UML      Observer模式    5

 

 

 

本文档提供了监理机构提供参考的公路信息设计模式的 C# 代码,vs2008 环境下调试通过。

   

  

 

 

 

  • 大小: 19 KB
  • 大小: 11.5 KB
  • 大小: 17.5 KB
  • 大小: 39.2 KB
  • 大小: 20 KB
分享到:
评论

相关推荐

    233-21年监理-土建三控-教材变化.pdf

    2020年的教材指出监理单位要整理出书面会议纪要并由各方会签,而2021年的教材则强调会议纪要应由与会单位代表和总监理工程师共同签认,这一变化强化了监理工程师的职责和责任,使其在施工图纸的会审和设计交底过程中...

    2019监理-质量控制模拟试题二.pdf

    在具体施工过程中,总监理工程师需要组织监理人员熟悉工程设计文件,并在施工过程中对施工组织设计做较大变更时进行审查。此外,针对不同的施工材料和情况,可以采用不同的密度测定方法,如环刀法、灌砂法等。 对于...

    WG-监理概论-核心考点整理.pdf

    监理工作贯穿于建设工程的全过程,从前期的勘察、设计到施工、竣工验收乃至保修阶段都有涉及。监理工作不仅仅关注施工阶段,还拓展到了工程项目的投资决策、建设、运营等全过程。以下是对“WG-监理概论-核心考点整理...

    XW-监理概论-学霸笔记.pdf

    综上所述,建设工程监理制度涉及的范围广,内容丰富,不仅包括监理单位和监理人员的职责和法律责任,还包括项目法人的职权以及工程建设的程序和模式,这些都是确保工程建设顺利进行的重要因素。监理工作的成功实施...

    建设工程监理委托模式实施程序.ppt

    2. **设计或施工总分包模式下的监理模式**: - **全程委托模式**:业主委托一家监理单位,对设计和施工阶段进行全面监理,利于整体协调,但需对分包单位资质严格审核。 - **分阶段委托模式**:设计和施工阶段分别...

    四川某广场工程监理总结 - 副本.pdf

    在项目监理方面,**广场项目监理部按照直线制模式,以项目总监负责制组建,总监职务在不同施工阶段由李苹、陈宏越、陈孝刚三位同志担任,常健涛为项目总监代表。监理团队包括土建和水电专业的项目监理人员,共同制定...

    WM_Removed_监理-三控【土建】-2018年真题解析-05、2018年建设工程质量、投资、进度真题解析(五).pdf

    在工程监理领域,价值工程是一种在建设工程设计阶段广泛运用的技术经济分析方法。该方法用于提升产品或服务的价值,通过对功能与成本的分析,以最低的寿命周期成本实现必要的功能,从而提高项目的价值。 价值工程的...

    监理交底1_工程施工土建监理资料建筑监理工作规划方案报告_监理交底.doc

    自1998年起,我国开始推行建设工程监理制度,该制度被纳入《中华人民共和国建设法》,成为法定的建设项目管理模式。监理单位受建设单位委托,依据建设工程委托监理合同和建设单位与承包单位的承包合同,对工程的各个...

    铁路站房工程消防工程监理细则-安全管理-安全管理制度-消防安全.docx

    - **控制方式**:提供自动控制、手动控制和应急操作三种模式。 - **特殊配置**:在消火栓箱内设有消火栓报警按钮,楼梯间及疏散楼梯前室走道侧设置火灾光报警显示装置。 **5. 电源及接地** - **供电要求**:所有...

    WM_Removed_233《监理法规》精讲班-王竹梅.pdf

    - 第一节工程建设程序,增加了关于交通运输等基础设施工程施工图设计文件审批或审核制度的内容。 - 第二节工程建设组织实施模式,内容未有变化。 3. 第三章建设工程监理相关法律法规及标准 - 第一节建设工程监理...

    专题讲座资料(2021-2022年)工程项目监理机构组织及监理人员职责.doc

    【工程项目监理机构组织及监理人员职责】 在建筑工程领域,监理工作是确保工程质量和安全的关键环节。监理机构组织的建立和监理人员的职责清晰划分...这种模式不仅强化了监理的权威性,也保证了工程项目的规范化运作。

    设计模式教程(design pattern)

    ### 设计模式教程知识点概述 #### 一、设计模式概览 设计模式是软件开发领域中一种被广泛接受的经验总结,它提供了一种通用的方法来解决常见的编程问题。设计模式可以帮助开发者更好地组织代码,提高软件的可重用性...

    【工程文档】-监理工程流程.doc

    - 监理公司在收到监理任务书后,首先要收集工程设计图纸和相关资料。 - 监理工程师会仔细研读设计图纸,总监理工程师则负责问题的收集和审核。 2. **图纸会审与设计交底**: - 对于需要会审的项目,由建设单位...

    WM_2015-2020年监理历年真题-监理三控.pdf

    工程监理是指监理人员依据法律、法规、技术标准、设计文件和合同,在工程项目建设过程中对建设行为进行监督管理的专业活动。课题预测则是指通过分析历年考题,预测未来考试可能出现的题目类型和内容。 从文件提供的...

    【工程文档】-监理规划rr3.doc

    - 监理机构通常采用层次化的管理模式,如总监代表、驻地监理等,确保高效运作。 7. **人员配备计划**: - 针对工程特点,合理配置监理人员,如设立总监、总监代表和各标段驻地监理,以应对不同区域和任务。 8. *...

    海绵城市监理细则-21页.pdf

    【海绵城市监理细则】主要涉及的是在城市建设中实施海绵城市理念的具体监理操作,这是一种旨在提高城市雨水管理和生态环境保护的建设模式。以下是对该文件中提到的知识点的详细说明: 1. **法律法规依据**:监理...

    #河道挡墙驳岸新建车行人行桥工程监理规划_工程施工土建监理资料建筑监理工作规划方案报告.doc

    - **管理模式**:采用质量管理模式进行监理。 ### 4. 项目监理组织机构 - **组织形式**:明确组织架构。 - **岗位职责**:定义各岗位的职责。 - **质量体系**:建立质量管理体系并分配职能。 ### 5. 监理工作程序 ...

    数字测图项目中监理模式的探讨

    监理工程师需要严格按照相关规范、设计标准及合同要求对测绘工程的质量进行全程监控。具体措施包括: 1. **旁站**:对于关键环节,如高等级控制测量的埋石作业,监理工程师需进行全过程旁站。 2. **复测**:如果...

    《建筑工程监理》教学大纲.pdf

    - 熟悉建设工程监理组织的基本原理、监理模式、项目实施监理的程序和原则。 - 掌握监理与组织设计、项目监理机构的建立和组织形式及职责分工。 - 难点在于项目实施监理的程序和原则。 5. 第五章 建设工程监理规划 -...

Global site tag (gtag.js) - Google Analytics