Kotlin 语言下设计模式的不同实现】的更多相关文章

偶然在 Github 上看到 dbacinski 写的 Kotlin 语言下设计模式的不同实现(这里的不同是相对于 Java 语言的),有些实现非常好,但是有些实现的例子不是很赞同.所以自己写了 Kotlin 语言版本的 23 种设计模式的实现,充分利用 Kotlin 的语法糖,例如单例模式.策略模式等可以很巧妙地实现,其他实现方式与 Java 不变的也有代码示例,就当是回顾设计模式. 创建型模式 工厂方法模式 工厂方法把创建对象的过程抽象为接口,由工厂的子类决定对象的创建,Kotlin 下的实…
过去一年,使用 Kotlin 来为安卓开发的人越来越多.即使那些现在还没有使用这个语言的开发者,也会对这个语言的精髓产生共鸣,它给现在 Java 开发增加了简单并且强大的范式.Jake Wharton 在他的 Øredev 的讨论中,提到了 Kotlin 是如何通过提升安卓开发的语言特性和设计模式来解决这些严重的问题,通过这些方法你可以清除那些无用的 API 还有无效代码.充分利用扩展特性来解决你的开发中的模板性代码的问题!   为什么要推广这个语言?   好吧,大伙.欢迎来到这里.我们今天的主…
原文标题:Converting Plaid to Kotlin: Lessons learned (Part 2) 原文链接:http://antonioleiva.com/plaid-kotlin-2/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-11-17 我们在第一部分中所见的各种显著地改进,要归功于在Activity中使用了Kotlin语言.但是,由于主要是重载方法做些事情,仍然免不了一些公式化代码,所以这种类…
fun main(args: Array<String>) { println("Hello, World!") } 基本语法 声明常量用val,声明变量用var,声明函数用fun.类型修饰采用后置语法,省略时由编译器根据上下文自行推导:声明常量和变量时用冒号指示类型,自带初值时类型修饰可省略.声明函数时用冒号指示返回类型.若函数体采用代码块形式,则没有返回值时返回类型可省略,有返回值时返回类型不能省略.若函数体采用表达式形式,则无论有没有返回值返回类型均可省略.   常量…
委托模式(Delegation) 类的委托 interface Base { fun print() } class BaseImpl(val x: Int) : Base { override fun print() { print(x) } } class Derived(b: Base) : Base by b fun main(args: Array<String>) { val b = BaseImpl(10) Derived(b).print() // prints 10 } 这里…
2017 Google I/O 大会开始就宣布,将Kotlin语言作为安卓开发的一级编程语言.        Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发.   Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行.   JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言.   Kotlin已正式成为Android官方支持开发…
安卓开发(2)-- Kotlin语言概述 Android的官方文档都优先采用Kotlin语言了,学它来进行Android开发已经是一种大势所趋了. 这里只讲解部分的语法. 如何运行Kotlin代码 这里提供三种方式来运行Kotlin代码: 1 使用IDEA来运行. 2 使用在线IDE来运行:https://play.kotlinlang.org/ 3 在Android Studio中运行Kotlin代码: 在项目中的MainActivity同级目录下新建一个kotlin文件就可以直接单独运行.…
原文标题:Converting Plaid to Kotlin: Lessons learned (Part 1) 原文链接:http://antonioleiva.com/plaid-kotlin-1/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-11-03 经常有人问我用Kotlin语言编写Android APP有哪些优点.可问题是我从来没有直接将用Java语言开发的Android APP转到Kotlin语言,所以…
原文标题:Unleash functional power on Android (I): Kotlin lambdas 原文链接:http://antonioleiva.com/operator-overloading-kotlin/ 原文作者:Antonio Leiva(http://antonioleiva.com/about/) 原文发布:2015-09-01 虽然Java 8中已包含一些函数式工具,且如你想象那样Android开发者还不能够立即(或许甚至根本不能)使用这些工具,但是如果…
原文:c语言下多线程 [问题]创建了10个线程,10个线程公用一个线程体,创建如下: int t1=0,t2=1,t3=2,t4=3,t5=4,t6=5,t7=6,t8=7,t9=8,t10=9; int *one=&t1,*two=&t2,*three=&t3,*four=&t4,*five=&t5,*six=&t6,*seven=&t7,*eight=&t8,*nine=&t9,*ten=&t10;    thread[3…