一. 结构图 模板方法一般置为final,可以被子类继承,但不能覆盖。 二. 代码实现。 public abstract class Game { abstract void initialize(); abstract void startPlay(); abstract void endPlay ...
分类:
其他好文 时间:
2020-06-25 19:58:28
阅读次数:
49
using System; namespace ConsoleTese { class Program { public delegate int dele(int a, int b); static void Main(string[] args) { ProductFactory product ...
前面大概了解了一下elasticsearch的数据存储和数据的查询。现在学习一下,es的复杂操作。 官网相关文档地址:https://www.elastic.co/guide/en/elasticsearch/client/java-api/7.x/java-docs-delete-by-query ...
分类:
编程语言 时间:
2020-06-22 18:37:02
阅读次数:
87
abstract abstract: 抽象的1.可以用来修饰:类、方法2.具体的:abstract修饰类:抽象类 * > 此类不能实例化 * > 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) * > 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作 >抽象 ...
分类:
编程语言 时间:
2020-06-21 19:53:41
阅读次数:
47
设计模式概述: 总体来说基本的23种设计模式分为三大类 创建型模式(5种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式(7种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模 ...
分类:
其他好文 时间:
2020-06-20 10:34:03
阅读次数:
59
最近项目中使用到Java实现导出PDF文件,经过一番参考研究最终决定使用itextpdf来实现,当然也可以参考 PDF Java类库:Spire.PDF for Java(https://www.e-iceblue.cn/spirepdfjava/create-pdf-in-java.html)。本 ...
分类:
编程语言 时间:
2020-06-18 01:27:06
阅读次数:
55
什么是AQS ReentrantLock的底层实现 支持尝试获取锁 支持重入 支持打断 支持多条件 支持公平锁和非公平锁 支持共享锁和排他锁 怎么做到的 使用了模板方法实现tryAcquire 子类Sync实现 通过CAS操作state的值,state为volatile修饰,线程可见 state为0 ...
分类:
其他好文 时间:
2020-06-17 20:00:10
阅读次数:
69
摘要 本文是设计模式学习的系列文章之一,主要介绍了常用的Builder(生成器)模式和模板模式。前者属于创建模式,后者属于行为模式。本文会结合具体的代码和实际的应用的案例进行分析。 Builder(生成器)的介绍 生成器,听名字就是知道和对象的创建有关系,我们思考下面一个例子,假设我们设计了一个类有 ...
分类:
其他好文 时间:
2020-06-15 12:30:27
阅读次数:
71
学习笔录——设计模式 模板方法模式(TemplateMethod) 简介 对于不变的行为通过模板方法提到单一的地方 个人理解,不足之处还请指教。 封装好相同复用的代码到父类,可变的业务逻辑延时到具体的子类执行。 ...
分类:
其他好文 时间:
2020-06-09 23:20:51
阅读次数:
55
#一、模板方法模式介绍 ##1、定义与类型 定义:定义了一个算法的骨架,并允许子类为一个或多个步骤提供实现 模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤 类型:行为型 ##2、适用场景 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实现 各子类中公共的行为被提取出来 ...
分类:
其他好文 时间:
2020-06-09 09:38:17
阅读次数:
59