Java and DesignPatterns
java and designPatterns learning tips
Magina-Dota
这个作者很懒,什么都没留下…
展开
-
java代理模式--动态代理
动态代理:在程序运行时,运用反射机制动态创建而成。代码开始运行时候还没有proxy类,他是根据需要从你传入的接口集创建。动态代理原理其实就是反射+多态+聚合的实现。 上一篇静态代理模式,其中静态模式存在两个问题: (1):需要建立大量的代理类,出现大量重复的代码,怎么去除重复? (2).如果事先不知道真实的代理类,怎么代理?原创 2012-02-29 23:44:14 · 2004 阅读 · 7 评论 -
java代理模式---静态代理
代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看来两者没有丝毫的区别。通过代理类这中间一层,能有效控制对委托类对象的直接访问,也可以很好地隐藏和保护委托类对象,同时也为实施不同控制策略预原创 2012-02-29 21:54:40 · 2104 阅读 · 7 评论 -
Java工厂方法---Factory Method
工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类工厂方法优点: 1.支持OCP原则,开闭原则,把创建产品的细节隐藏起来,对上层类的调用时透明的 2.工厂方法可以带来一个灵活性,当产品发生改变的时候,它的工厂不需要修改,只需要添加就行了如上图所示:如果需要添加海信电视的时候,只需要添加一个海信工厂和原创 2012-01-31 23:50:03 · 10453 阅读 · 11 评论 -
Java单例模式实例---读取配置文件
因为配置文件里的信息都是一样的,不论哪个用户要登录系统访问连接数据库,都是要读取配置文件的,这样每次如果都要实例化读取配置文件的类,这样就会非常浪费系统资源。因此使用单例模式:只要实例化一次之后,有了一个对象,之后就不再需要实例化了。 为了配置文件修改的方便将配置文件的信息单独放到一个xml文件中。 oracle.jdbc原创 2012-01-06 20:00:10 · 6426 阅读 · 9 评论 -
JAVA单例模式(Singleton)
单例模式主要用于:有一些对象我们只需要一个,比如:线程池、缓存、对话框、处理偏好设置、注册表对象、日志对象以及配置文件对象、数据库连接对象等等。单例模式常用于管理共享资源,例如:数据库连接或者线程池。 Java Singleton模式就为我们提供了这样实现的可能。使用Singleton的好处还在于可以节省内存,因为它限制了实例的个数,有利Java垃圾回收(garbagecolle原创 2012-01-06 15:49:51 · 2484 阅读 · 3 评论