`
wangchao_17915566
  • 浏览: 169465 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论
文章列表
装饰模式:动态给一个对象添加一些额外的职责,使用Decorator模式比用生成子类方法达到功能的扩充更为灵活 为什么使用:通常使用继承来实现功能扩展,如果扩展的功能种类繁多,会生成很多子类,增加系统的复杂性。使用继承实现扩展必须预见性,在编译前已确定,是静态的。 例如要去商店买肉,首先定义买的接口 public interface Shop { public void buy(); }   下面我要买肉,继而实现此接口 public class BuyMeat implements Shop{ public void buy() { System.out.println(" ...
      组合模式,一般就是“整体,部分”的概念,在java与模式中举了一个大家经常听过的故事,很形象,从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事,讲的内容是:从前有座山......一直这样下去。从这里看出,整体是这个故事,故事里面的故事则是部分。这也是一个简单的组合模式。       组合模式把整体和部分的关系用树结果表示出来,使得客户端把一个单独的成分对象和复合对象同等对待。       组合模式分为安全式和透明式,      首先看看安全式:      定义接口 public interface Component { public void sampleOperation ...
     客户端通过类的接口访问提供的服务,一般现有类可提供用户的所需功能,而有时不能满足用户的期望。例如有两个毫无关联的类组合在一起使用,要么就是修改各自的接口,但是在不修改各自接口的前提下,应该怎么做呢?使用Adapter模式,使得原本需要修改接口的才能在一起工作的两个类可以通过此模式不进行修改接口,在一起工作。      举个例子,面包制作商可以制作面包,蛋糕制作商可以制作蛋糕,某工厂以前请了面包制作商只做面包,而现在还要制作蛋糕。      传统方法 增加一个蛋糕制作的接口,并且在实现中增加制作蛋糕的实现。 public interface MakeFactory{ String ge ...
简单的了解下代理模式 代理就是一个人或一个机构代表另一个人或者机构采取行动。在一些情况下,一个客户不想或不能够直接引用对象,而代理对象可以在客户端和目标对象之间起到中介作用      代理模式包括远程代理,虚拟代理,copy-on-write代理,保护代理,catch代理,防火墙代理,同步化代理,只能引用代理,这些我就不一一介绍,我只是用简单例子,了解什么是代理模式。      代理模式设计到的角色:      抽象主题角色:声明了真是主题和代理主题的公共接口,这样可以使用真实主题的地方都可以使用代理主题。      代理主题角色:代理主题角色内不含有真实主题的引用,从而可以在任何时刻操作真实主 ...
外观模式(Facade pattern),用户操作不同的子系统,要解决用户与子系统的高耦合度,则使用此模式,增加一个用户操作系统,用户可通过此系统,操作到其他子系统,从而降低用户与子系统的耦合。 例如顾客要买肉,水果,用品。顾客一与顾客二买的东西有些一样,有些不一样。 子系统: public class Fruit { public String apple; public String pear; }  水果 public class Meat { public String fish; public String chicken; }  肉 public class Thin ...
原型模式(Prototype): 用原型实例指定创建对象的种类,并且通过拷贝原型来创建新的实例对象。它允许一个对象再创建另外一个可定制的对象,根本无需知道任何创建细节,工作原理,通过将一个原型对象传给那个要发动创建的对象,这个发动创建对象通过请求原型对象拷贝它们自己来创建。 通俗点,就是通过拷贝来进行创建实例。 例如: 代码一: public class AbstractSpoon implements Cloneable{ String spoonName; public String getSpoonName() { return spoonName; } public v ...
     了解建造者模式:      在软件系统中,经常会遇到一个创建工作,一个复杂对象由各部分子对象用一定算法构成,由于需求改变,这个复杂对象各个部分面临剧烈变化的,但组合在一起相对稳定。      个人理解:要去商店买吃的,商店有汉堡,可乐,鸡腿等等。顾客可以说自己的需要,告诉服务生,服务生分配给你所需要的东西。     //可乐 public class CocaCola { private String size; public String getSize() { return size; } public void setSize(String size) { this.size = ...
看了下单例模式,个人理解就是只能有一此实例化,这样对性能有一定提高。 下面说说学习小例子: public class Singleton { private Singleton(){} private static Singleton instance = new Singleton(); public static Singleton getInstance(){ return instance; } public void sys(String s){ System.out.println(s+"singleton........."); ...
今天了解了工厂模式,总结下:       首先是简单工厂模式,大家在开发中经常用到,感觉就是在类里面增加一些静态方法,这个类就是工厂类,以后调用这些方法时不用实例化此类。 一个例子,动物有吃,喝的功能,写个动物接口。 public interface Animal { public void eat(); public void drink(); }   猫,狗继承动物,就有了这两个功能。 public class Cat implements Animal { public void drink() { } public void eat() { } }   pub ...
几天研究了一下spring 的邮件发送很爽。 看代码: package com.cn.mail; import java.io.File; import javax.mail.internet.MimeMessage; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; import org.springframework.core.io.FileSystemResource; im ...
今天上班聊天的时候出了个“丑” 有人说他有个想法以后将数据库放到客户端,我说这已经有人想过了,好像Oracle就正在做。另外一个人问放到客户端有什么好处,然后我就给他喷,最后人家问我终端和客户端是不是一样的,我说是,回来想想,我好想说错了。自己觉得挺失败跟人家喷,最后说得都是错的。 答案应该不是,终端是可以连接到操作系统上使用操作系统资源的一个用户,他与其他用户一起分享操作系统的各种资源;客户端是对应用软件而言的,是使用服务器上的服务的一个软件。一个是系统层面的,一个是应用层面的。 也希望大家对此讨论下。
今天在继续我的spring security2时出现了一下异常 java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64 org.springframework.security.ui.rememberme.AbstractRememberMeServices.decodeCookie(AbstractRememberMeServices.java:150) org.springframework.security.ui.rememberme.AbstractRememberMeServices.autoLo ...
昨天一个小伙问我省市区三级联动,让他网上去找,他说不会,晕。我找了一个,方便以后查阅 <html> <head> <title>省市县关联菜单</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <style> body,select { font-size:9pt; font-family:Verdana; } a { color:red; text-decoration:none; ...
Error creating bean with name 'ContactManagerTarget.methodSecurityInterceptor': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/aspectj/lang/SignatureCaused by: java.lang.NoClassDefFoundError: org/aspectj/lang/Signature at org.springframework.security.intercept. ...
    最近研究了下acegi,原因是我要进行flex的项目,但是不知道flex的权限如何实现,所以就想到了acegi。     从网上下载了acegi发布的0.8版本的,这个版本所有接口都在net.sf中,我使用的是acegi1.7版本,这就面临着根据别人的例子自己做。     首先谈下acegi中最重要的acegi filter。     一,httpSessionContextIntegrationFilter     <bean id="httpSessionContextIntegrationFilter" class="org.acegisecu ...
Global site tag (gtag.js) - Google Analytics