Java设计模式
NO Exception?
分享内容!
展开
-
设计模式-策略模式
1.概念属于行为型模式。(定义一组算法,将每个算法都封装起来,并且使 它们之间可以互换1.1 优点:算法可以自由切换:这是策略模式本身定义的,只要实现抽象策略,它就成为策略家族的一个成员,通过封装角色对其进行封装,保证对外提 供“可自由切换”的策略。避免使用多重条件判断:多重条件语句不易维护,而且出错的概率大大增强。使用策略模式后,可以由其他模块决定采用 何种策略,策略家族对外提供的访问接口就是封装类,简化了操作,同时避免了条件语句判断扩展性良好:在现有的系统中增加一个策略太容易了,只要实现接原创 2021-06-16 10:59:02 · 84 阅读 · 0 评论 -
设计模式-桥接模式
桥接模式,结构型模式,使用场景:当一个对象要面向多种纬度的时候,就可以用桥接。原创 2021-01-06 09:16:45 · 542 阅读 · 0 评论 -
设计模式-享元模式
1.概念享元模式是对象池的一种实现(Flyweight),轻量级。用来尽可能减少内存使用,适用于可能存在大量重复对象的场景,来缓存可共享的对象,达到对象共享,避免创建过多对象的效果。提升性能,避免内存移除。使用场景:1.系统中存在大量相似对象2.需要缓冲池2.codepublic interface Ticket { void showTicketInfo(String bunk);}public class TrainTicket implements Ticket{原创 2021-04-14 22:32:22 · 90 阅读 · 0 评论 -
设计模式-装饰模式
1.概念又叫包装模式,属于结构型模式之一。其使用一种对客户端透明的方式来动态地扩展对象的功能,同时也是继承关系的一种替代方案。使用场景:动态地给一个对象添加一些额外的职责。2.codepublic abstract class Shape{ public abstract void draw();}public class Circle extends Shape { private static final String TAG = "Circle"; @Overri原创 2021-04-14 22:15:28 · 71 阅读 · 0 评论 -
设计模式分类
1、设计模式简介设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可...原创 2020-04-19 09:47:14 · 558 阅读 · 0 评论 -
设计模式-单例模式
保持对象在整个程序的生命周期的唯一性。减少对象的创建和销毁。代码特点:私有化构造函数提供外部访问对象的方法懒汉式:public class SingleTon1 { private SingleTon1(){} private static final String TAG = "SingleTon1"; private static SingleT...原创 2019-11-06 14:01:06 · 1114 阅读 · 0 评论 -
3.3 设计模式-观察者模式
当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。/** * 被观察者 对象 ---产生事件 */public class Cuihua extends Observable { private String task; public String ...原创 2019-11-06 14:09:28 · 404 阅读 · 0 评论 -
3.4 设计模式-工厂模式
/** * 工厂模式 */public class ShapeFactory { public static final String CIRCLE ="CIRCLE"; public static final String RECTANGLE ="RECTANGLE"; public static Shape getShape(String type )...原创 2019-11-06 14:05:53 · 399 阅读 · 0 评论 -
3.5 设计模式--模板模式
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。public abstract class Game { abstract void initialize(); abstract void startPlay(); ...原创 2019-11-06 14:13:45 · 298 阅读 · 0 评论 -
3.6 设计模式-建造者模式
概念将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。使用场景主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定。案例下面写一个创建电脑的案例,电脑有 主板、显示屏、系统组成。但是我们想要创建一个Mac电脑。首先能确定苹...原创 2019-10-28 17:20:37 · 264 阅读 · 0 评论 -
3.8 设计模式-原型模式
原型模式概念原型模式属于创建型模式,用户可以基于一个对象复制出一个内部属性一致的对象,类似克隆。原型模式多用于创建复杂和耗时的实例。复制一个实例可使程序运行更高效。定义用原型实例指定创建对象的种类,并通过复制这些原型创建新的对象。场景类初始化需要消耗非常多的资源,比如数据,硬件等,使用原型模式可以避免这些消耗。new对象需要繁琐的数据准备和访问权限。一个对象需要提供给多个...原创 2019-11-24 17:10:22 · 162 阅读 · 0 评论 -
3.7 设计模式-代理模式
简介案例简介在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。给目标对象提供一个代理对象,并由代理对象控制对目标对象的引用案例public interface ITask { void dispatchTask();}/** * 老板 */public class Boss implements ITask {...原创 2020-04-22 17:07:39 · 290 阅读 · 0 评论