美文网首页
提示二十

提示二十

作者: 飞絮搅青冥 | 来源:发表于2022-06-18 08:57 被阅读0次

    今天来看提示二十: 接口优于抽象类。

    Java 有两种机制来定义允许多个实现的类型:接口和抽象类。

    接口有如下几个的优点:

    1. 现有的类可以很容易地进行改进来实现一个新的接口。
    2. 接口是定义混合类型(mixin)的理想选择。
    3. 接口允许构建非层级类型的框架。
    4. 接口通过包装类模式确保安全,使得强大的功能增强成为可能。

    接着作者介绍了模板方法的设计模式,可以结合接口和抽象类的优点。

    1. 接口定义了类型,可能提供了一些默认的方法,而骨架实现类在原始接口方法的顶层实现了剩余的非原始接口方法。
    2. 它们提供抽象类的所有实现的帮助,而不会强加抽象类作为类型定义时的严格约束。
    3. 由于接口不允许为 Object 类方法提供默认实现,因此所有实现均放置在骨架实现类中。

    模板方法在我们系统中也有很多应用,我印象比较深刻的就是更新订单的逻辑,在顶层就设计好了大概的步骤,接着根据不同的flow逐步细化,最后再由终端的类去实现最后的细节。但是我发现我自己在写代码的时候一般不会这样设计,可能是一开始接触到的需求都没有这么复杂?还是在设计代码的时候偷懒了?以后在动手写之前要注意多思考怎么去安排代码结构。

    相关文章

      网友评论

          本文标题:提示二十

          本文链接:https://www.haomeiwen.com/subject/bhskvrtx.html