![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
新手教教我
这个作者很懒,什么都没留下…
展开
-
模板方法模式(Template Method)
模板方法模式是基于继承的代码复用的基本技术。 模板方法模式需要开发抽象类和具体子类的设计师之间的协作,一个设计师负责给出一个算法的轮廓和骨架,另一些设计师负责给出这个算法的各个逻辑步骤。//抽象模板角色类public abstract class Account{ //模板方法 public final double calculateInterest() {...转载 2018-09-04 09:09:47 · 117 阅读 · 0 评论 -
行为模式----策略模式
策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口。设计一个抽象类,提供辅助函数。//抽象策略类接口public interface CarFunction{ void run();}//定义一个策略实现类的父类public class Car im...转载 2018-09-03 17:08:10 · 104 阅读 · 0 评论 -
享元模式(FlyWeight)
享元模式,又叫轻量级模式,通过共享技术有效的实现了大量细粒度对象的复用。 享元模式角色划分: FlyWeight:享元接口,定义共享接口。 ConcreteFlyWeight:具体的享元类,该类实例将实现共享。 UnShareConcreteFlyWeight:非共享享元实现类。 FlyWeightFactory:享元工厂类,控制实例的创建和共享。//享元接口类public i...转载 2018-09-03 15:38:33 · 99 阅读 · 0 评论 -
组合模式(Composite)
组合模式有时又叫整体-部分模式,在处理树形结构的问题的时候比较方便。//抽象类:Nodepublic abstract class Node{ protected String name; public Node(String name) { this.name = name; } public void addNode(Node...转载 2018-09-03 14:11:30 · 97 阅读 · 0 评论 -
桥接模式(Bridge)
桥接模式目的:将抽象化与实例化解耦,使得二者可以独立变化。 这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类,这种类型的类可被结构化的改变而互不影响。 具体来说就是一个接口,它与一方是绑定的,也就是解耦的双方中一方必然是继承这个接口,这一方就是实现方,而另一方正是要与这一方解耦的抽象方。//桥接口public interface Qiao{ void ...转载 2018-09-03 10:31:36 · 130 阅读 · 0 评论 -
备忘录模式(Memento)
备忘录模式又叫做快照模式(Snapshot Pattern)或 Token模式,是对象的行为模式。 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化,存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。 备忘录模式涉及的角色有三个:备忘录角色(Memento),发起人角色(Originator),负...转载 2018-09-05 09:56:19 · 111 阅读 · 0 评论 -
建造者模式(Builder)
建造者模式主要解决的是创建对象的时候,对象属性的初始化问题。一个类有很多属性,而这些属性在创建的时候可以赋值也可以不赋值。如果我们单纯的用构造器来解决就会很麻烦,这个时候建造者模式就非常适用了。 我们拿现在比较流行的OkHttp的Request类来作为范本来说明建造者模式public final class Request{//外部类的属性 final HttpUrl ur...转载 2018-08-30 15:37:01 · 111 阅读 · 0 评论 -
JAVA设计模式笔记
JAVA设计模式 1.创建模式之工厂模式 工厂模式参考的是现实生产环境的工厂,不知道你是否在深圳的电子厂打工过,如果有这样的经历你就会很好理解。在工厂里是按产品线划分的,在每个产品的流水线上工人们各司其职,将一个个零部件组装起来成为最终产品。就拿我之前呆过的工厂来说,在哪里分了耳机产品线,音响产品线等。不瞎扯了,上代码。 1.1静态工厂模式interface Product {}...转载 2018-08-30 10:42:47 · 133 阅读 · 0 评论 -
命令模式(Command)
命令模式的目的就是将命令的发出者和执行者之间解耦。 我们以司令员给士兵发布指令执行为例://命令接口类public interface Command{ void action();}public class MyCommand implements Command{ private Receiver receiver; public MyComman...转载 2018-09-04 17:00:53 · 124 阅读 · 0 评论 -
责任链模式(Chain of Responsibility)
责任链模式是一种对象的行为模式,在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条莲。请求在这个链上传递,直到链上的某个对象决定处理此请求。 既然是设计模式,必然有其鲜明代码的主体框架,如下: 首先定义一个抽象的处理角色Handler,其次是具体实现类ConcreteHandler,在ConcreteHandler我们通过getNextHandler()来判断是否还有下一个责...转载 2018-09-04 16:25:10 · 107 阅读 · 0 评论 -
迭代子模式(Iterator)
顾名思义,迭代器模式就是顺序访问集合中的对象。这句话有两层意思:一是需要遍历的对象(集合对象),二是迭代器对象,用于对集合进行遍历访问。public interface Collection{ public Iterator iterator(); //取集合对象 public Object get(int i); //取集合大小 public i...转载 2018-09-04 14:27:11 · 113 阅读 · 0 评论 -
观察者模式(Observer)
观察者模式:当一个对象发生变化的时候,其它依赖该对象的对象都会收到通知,并且随着发生变化。public interface Observer{ void update();}public class ObserverA implements Observer{ @override public void update() { Syste...转载 2018-09-04 10:37:54 · 109 阅读 · 0 评论 -
Android约束布局ConstraintLayout实现九宫格
Android约束布局ConstraintLayout实现九宫格这个实现是不能动态添加项目的,只是固定项目的九宫格,如果要动态增加item的最好还是使用GridLayout。不多说了直接上代码:<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:an...原创 2018-09-19 15:47:50 · 1592 阅读 · 0 评论