美文网首页
给人看的Kotlin设计模式

给人看的Kotlin设计模式

作者: 珞泽珈群 | 来源:发表于2020-04-18 17:47 被阅读0次

    设计模式是一种神奇的存在,偶尔被提及,时常被忘却,于我而言也是如此,或许只要在面试的时候才能想起来有这么一回事。

    很多“知识”都是这样的,看过的那叫信息,懂了的那叫知识,会用的那才叫能力。能力的习得往往都是一个从“有形”到“无形”的过程。上学的时候只是记住了面向对象的三个特性:封装、继承、多态,现在越发觉得这简单的三个词背后蕴含着深刻的编程思想。从“有形”的概念到“无形”的运用,这中间要经历大量的思考与实践,不然就永远停留在“有形”的概念上(这已是万幸,更多的时候是无形地就忘记了)。

    学习编程艺术首先要学会基本的规则,然后才能知道什么时候可以打破这些规则。—— Effective Java

    设计模式就是这么一种有形的存在,它描述了类之间各种各样的构型关系,是面向对象实践经验的一种总结,你可以把它看作是面向对象编程对于某类问题的一种“最佳实践”。“最佳实践”是这样一种存在:你可以选择无视,这并不影响你用你的方式解决问题,但是最佳实践会让你解决问题变得更加轻松灵活(当然,前提是你运用得当)。

    Keep in mind that design patterns are solutions to problems, not solutions finding problems; so don't overthink.
    设计模式是用来解决问题的,而不是用来发现问题的。

    本文主要围绕经典设计模式在Kotlin上的实现,Kotlin有自己的语言特点,对于设计模式的实现有时也不同于Java(当然对于多数设计模式而言,Kotlin的实现也没有什么特别的),我们可以写出更加Kotlin味道的设计模式。我猜测JetBrains在创造Kotlin的时候,“严重”参考了两本书:Design PatternsEffective Java,其中一些思想已经内化到Kotlin语言中,之后我们会慢慢看到。

    本文主要参考了以下内容:
    Dive Into Design Patterns
    图解设计模式
    Effective Java 第三版

    构建型设计模式(Creational Design Patterns)

    应用

    设计模式在外卖营销业务中的实践
    浅谈基于常用设计模式的扩展
    构建型设计模式的典型应用那必须得说是Dagger了,Dagger生成的源码包含了各种工厂模式,构造者模式,单例模式——Dagger生成的代码是什么样的?
    责任链+策略模式=责任树模式——曾梦想 if-else 走天涯?看看“责任树模式”优化

    P.S. 本文会持续更新,不定期来看看,说不定会增加什么奇怪的知识。


    相关文章

      网友评论

          本文标题:给人看的Kotlin设计模式

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