设计模式【13】-- 模板模式怎么弄? (2)

Start0()是一个native方法,是由 c 语言去实现的,在调用的时候,真正调用了我们的 run() 方法,如果需要跟踪这个方法需要到 HotSpot底层去。这里介绍的目的是让大家了解,它同样是使用了模板模式。

private native void start0();

了解 native 关键字可以参考:

模板模式的优缺点

模板模式的优点:

1、封装固定的部分,拓展需要定制修改的部分,符合开闭原则。

2、公共的代码在父类中,容易维护。

3、整个流程由父类把握,调整比较方便。

缺点:

1、子类可能会很多,系统复杂度上升。

2、子类只有一小部分实现,了解全部方法则需要在父类中阅读,影响代码阅读。

总结:代码该隐藏的复杂细节隐藏起来,开放定制化部分,优雅!

设计模式系列:

设计模式【1】-- 单例模式到底几种写法?

设计模式【1.1】-- 你想如何破坏单例模式?

设计模式【1.2】-- 枚举式单例有那么好用么?

设计模式【1.3】-- 为什么饿汉式单例是线程安全的?

设计模式【2】-- 简单工厂模式了解一下?

设计模式【2.1】-- 简单工厂模式怎么演变成工厂方法模式?

设计模式【2.2】-- 工厂模式怎么演变成抽象工厂模式?

设计模式【3.1】-- 浅谈代理模式之静态、动态、cglib代理

设计模式【3.2】-- JDK动态代理源码分析有多香?

设计模式【3.3】-- CGLIB动态代理源码解读

设计模式【4】-- 建造者模式详解

设计模式【5】-- 原型模式

设计模式【6.1】-- 初探适配器模式

设计模式【6.2】-- 再聊聊适配器模式

设计模式【7】-- 探索一下桥接模式

设计模式【8】-- 手工耿教我写装饰器模式

设计模式【9】-- 外观模式?没那么高大上

设计模式【10】-- 顺便看看享元模式

设计模式【11】-- 搞定组合模式

设计模式【12】-- 搞定最近大火的策略模式

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdswd.html