设计模式
码农峰酱
这个作者很懒,什么都没留下…
展开
-
代理模式(Proxy):静态代理(Static Proxy)、动态代理(Dynamic Proxy)和CGLIB代理
一、代理模式为其他对象提供一种代理以控制对这个对象的访问。二、代理模式结构图三、静态代理这种代理方式需要代理对象和目标对象实现一样的接口。1、优点: 可以在不修改目标对象的前提下扩展目标对象的功能。2、缺点: 冗余:由于代理对象要实现与目标对象一致的接口,会产生过多的代理类。不易维:一旦接口增加方法,目标对象与代理对象都要进行修改。3、代码实现://被追女孩子类public c...原创 2019-12-03 15:55:52 · 1479 阅读 · 0 评论 -
软件设计模式之策略模式
一、应用场景1、软件系统中有多个功能类似的算法,系统根据不同的时机来选择不同的算法完成某个功能;2、不需要让客户端知道复杂的,与算法相关的数据结构;3、在软件系统中有很多的行为,如果不采取一定的模式,这些行为就只能使用多重的条件语句来实现。二、策略模式定义策略模式(Strategy Pattern):策略模式定义了一系列的算法,并将每个算法封装起来,并让它们相互替换。策略模式让算法独立于...原创 2019-11-14 20:39:27 · 947 阅读 · 0 评论 -
软件设计模式之原型模型(ProtoType Model)以及深复制和浅复制
欢迎各位大哥大姐访问个人博客码农峰酱一、应用场景对同一个对象或者类似对象需要多次进行实例化时;对于实例化不方便而复制比较方便时。二、原型模型定义用一个已经创建的实例作为原型,通过复制该原型来创建一个和原型相同或者相似的新对象。在这里,原型对象指定了要创建的对象的种类,用这种方法创建对象非常有效,根本不需要知道创建对象的具体的细节。三、原型模式中几个重要的角色:(1)抽象原型类:规...原创 2019-11-04 13:13:07 · 1341 阅读 · 0 评论 -
单例模式的两种写法:饿汉式单例和懒汉式单例
一般我们在项目开发中有时候常会遇到数据库的连接(不使用框架),我们常会在dao类中写一些通用的方法以供后面使用。一般的做法是哪里需要操作数据库的方法哪里就会创建一个对象,然后再引用对象里面的操作方法,这样做的不好的地方就是创建的对象比较多,比较消耗内存,降低程序效率,而我们完全可以只创建一个对象,然后哪里需要哪里就直接用,无需重新创建,这就是单例模式。一、懒汉式单例(线程安全)懒汉式单例顾名思...原创 2019-11-02 20:48:47 · 888 阅读 · 2 评论