摘要: 意图:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示示意图:适用性:当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时当构造过程必须允许被构造的对象有不同的表示时示例代码://部件类class CPart{public: CPart(void);public: ~CPart(void);public: virtual void Build()=0; virtual void Display()=0;};//部件Aclass CPartA:public CPart{public: CPartA() { }public: ~CPartA() { }publ 阅读全文
posted @ 2011-05-12 00:02 Yarkin 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 意图:运用共享技术有效地支持大量细粒度的对象,FLYWEIGHT对那些通常因为数量太多而难以用对象来表示的概念或者实体进行建模.示意图:适用性:对象可以被共享使用的情况示例代码://flyweight类class CPerson{public: CPerson(int id) { m_id = id; }public: ~CPerson(void) { } public: void Number() { _tprintf(_T("my id is %d/n"),m_id); }private: int m_id;};//FLYWEIGHT工厂//用于创建对象已经对象的管理/ 阅读全文
posted @ 2011-05-11 22:48 Yarkin 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 意图:为子系统中的一组接口提供一个一致的界面.定义一个高层接口,该接口是的这一个子系统的更加容易使用.动机:是的子系统之间的通信和相互依赖达到最小,达到该目的的途径之一就是引入一个外观(Facade)对象,它为子系统中较为一般的设施提供了一个单一而简单的界面.示例图:Facade作为生态子系统的统一界面用于外接交互适用性:为复杂子系统提供一个简单接口Facade提供了客户与子系统以及其他子系统的分离为各个自系统提供每层的入口点.示例代码://生态子系统的Facade类作为外部接口的界面,内部子系统的复杂构建不为外界所知class CEcoSystem{public: CEcoSystem(vo 阅读全文
posted @ 2011-05-11 00:59 Yarkin 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 意图:动态的为一个对象添加一些额外的职责,Decorator比子类更加灵活示例图:适用性:在不影响对象的情况下,以动态,透明的方式给单个对象添加职责处理那些可以撤销的职责但不能使用子类进行扩充时/类被隐藏/类定义不能生成子类…注意事项:装饰对象的接口必须与它所装饰的Component的接口一致示例代码://Compnent同时也是基类class CText{public: CText(void);public: ~CText(void); public://绘制接口 virtual void Draw() { _tprintf(_T("Pure Text/n")); }}; 阅读全文
posted @ 2011-05-10 22:07 Yarkin 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 意图:将对象组合成树型结构以表示”部分-整体”的层次结构。Composite使得用户对于单个对象和组合对象的使用具有一致性Compoite模式的关键是一个抽象类,即表示具体类也表示容器.示意图:适用性:你想表示对象的部分-整体层次结构你希望用户忽略组合对象和单个对象的不同,用户将统一的使用组合结构中的所有对象示例代码:animal:单个对象//单个动物实体class CAnimal{int id;public: CAnimal(int i) { id = i; }public: ~CAnimal(void) { }public: virtual void MadeSound()=0;//动物. 阅读全文
posted @ 2011-05-09 23:57 Yarkin 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 意图:为一系列相关对象或相互依赖对象提供一个创建接口.示意图:AbstractFactory为创建对象声明一个接口,真正创建对象由ConcreteFactory(FactoryA/FactoryB)实现.一个具体的工厂将为每个产品中定义该工厂方法以指定产品.适用性:一个系统要独立于他的产品的创建,组合和表示时一个系统要由多个产品系列中的一个配置时当你强调一系列相关的产品对象的设计以便进行联合使用时当你提供一个产品类库,而只想显示它们的接口而不是实现时代码示例:client://具体创建何种产品有Factory决定void DisplayInfo(CFactory& factory) { 阅读全文
posted @ 2011-05-09 22:36 Yarkin 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 在页面头添加<%@ taglibprefix="s" uri="/struts-tags"%>页面中添加相应的tags:password密码s:checkboxCheckboxs:submit提交按钮s:reset重置按钮s:formForms:set设置某个值s:set name="lastName" value="%session.paramter"(从Session中获取parameter的值)s:if test="xxx"判断test是否为真s:textfield字符输入框# 阅读全文
posted @ 2011-03-07 13:53 Yarkin 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 1配置认证方式为LDAP<beans:beanid="ldapAuthProvider"class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider"><beans:constructor-arg><beans:beanclass="org.springframework.security.ldap.authentication.BindAuthenticator"><beans:const 阅读全文
posted @ 2011-03-04 14:34 Yarkin 阅读(4991) 评论(0) 推荐(0) 编辑
摘要: 今天遇到了VMware提示物理内存不足的问题,而且虚拟机还是处于pause状态,不能power off和reset.想用pae来将win7的内存提升到4g,起来之后还是提示物理内存不足.于是乎,么有办法只能去google。万幸看到了令狐少侠兄的那篇《解决vmware的“物理内存不足”》的博客,于是乎到appdata下找到了vmware workstation下找到了config.ini更改prefvmx.useRecommendedLockedMemSize = "TRUE"和prefvmx.allVMMemoryLimit = "1024"。重启vmw 阅读全文
posted @ 2011-02-28 23:39 Yarkin 阅读(6297) 评论(0) 推荐(0) 编辑
摘要: 最近开始研究 GWT,但是按照google code中的描述进行联网安装gwt/gwt designer plugin总是失败.无奈之下只能google如何下载并安装了.google之后总算有了眉目,在这里记录以备以后查看。1,下载gpe:http://code.google.com/p/googleappengine/并安装.2,下载gwt:http://code.google.com/intl/zh-CN/webtoolkit/download.html3,下载gwt plugin:http://code.google.com/intl/zh-CN/eclipse/docs/install 阅读全文
posted @ 2011-02-20 17:24 Yarkin 阅读(2074) 评论(0) 推荐(0) 编辑