cala中特质定义:包含一些字段,行为(方法/函数/动作)和一些未实现的功能接口的集合,可以方便的实现扩展或混入到已有类或抽象类中。
scala中特质(trait)是一个很有用的特性,在程序设计中可以 更好的抽象现实,使程序更关注各自功能和更好的将程序拆分成多个特质模块,使程序具有更强的扩展性。熟悉java的同学,可以将特质理解为抽象类,但是scala中可以在一个类中同时混入多个特质(使用extends 或with),而java中一个类只能继承一个抽象类,如果要实现多个抽象类就必需使用多继承。scala中很多基础类型功能扩展都使用了特质的特性,例如,基础类型中的布尔操作和比较接口功能扩展都是在Ordered[T]中实现,迭代功能的操作主要在TraversableOnce[+A],GenTraversableOnce[A]中实现,TraversableOnce中混入了GenTraversableOnce特质。小象认为更多使用特质可以更好的站在抽象的层面设计程序和系统框架。
scala中使用Ordered特质实现基本类型的<,><=,>=功能
- trait Ordered[A] extends Any with java.lang.Comparable[A] {
- def compare(that: A): Int
- def < (that: A): Boolean = (this compare that) < 0
- def > (that: A): Boolean = (this compare that) > 0
- def <= (that: A): Boolean = (this compare that) <= 0
- def >= (that: A): Boolean = (this compare that) >= 0
- def compareTo(that: A): Int = compare(that)
- }
在系统整体设计阶段,做核心结构或模块抽象时,可以把具有同类行为和属性的特征抽象出来形成一个特质,然后在类型顶层(超级抽象类)或核心或子类型中混入一个或多个需要的特质。这样做的好处在于可以按照特征对类型中主要功能进行分解和抽象,更好的任务分工,提高后期模块功能的可扩展和可维护性。这样到每一个开发者手里的都是一个特征,后期功能扩展更加高效和清晰。例如开发一个关于消费者电商购买力的一个数据数据挖掘系统,假设按照用户年龄对用户进行分类简单分类——青年,中年,老年,将衡量用户购买能力基本特征分为以下五类:时间处理特征,地点处理特征,消费处理特征,商品类型处理特征和潜在购买特征;抽象类按照计算维度定义多个钩子函数,实现评价用户购买能力指标的计算模型,特征汇聚等的实现。子类主要代表不同类型用户的平台个性信息,计算因子,权重等基本信息。通过这种设计方式可以将核心分析计算功能定义在抽象类中,实现功能的更高类聚性(专业的人做专业的事)。
如果使用java实现不管是使用多继承还是接口,想想都头大,而且不便于开发分工和后期维护,抽象类中实现的功能太多,很难理解维护。
http://blog.csdn.net/yangguo_2011/article/details/30289735
相关推荐
响应式架构 消息模式Actor实现与Scala.Akka应用集成 响应式架构 消息模式Actor实现与Scala.Akka应用集成
akka集群,scala函数式编程。
Scala Akka项目源码
消息模式Actor实现与Scala、Akka应用集成
Akka是JAVA虚拟机JVM平台上构建高并发、分布式和容错应用的工具包和运行时。Akka用Scala语言写成,同时提供了Scala和JAVA的开发接口。
响应式架构++消息模式Actor实现与Scala.Akka应用集成+,沃恩·弗农+
响应式架构 消息模式Actor实现与Scala.Akka应用集成 高清扫描版
Akka scala 并发 actor 高清原版pdf 学习scala实现akka进行并发编程
用Scala写的akka actor简单demo,已经打包成SBT程序,因为上传大小限制依赖包没上传,用户安装了sbt后只需要执行update命令即可
Harness reactive programming to build scalable and fault-tolerant distributed systems using Scala and Akka About This Book Use the concepts of reactive programming to build distributed systems ...
响应式架构 消息模式Actor实现与Scala.Akka应用集成 ,沃恩·弗农
Reactive Programming with Scala and Akka 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
Akka Scala文档
2016年2月出版的《Reactive Programming with Scala and Akka》,介绍了使用scala和akka构建响应式程序的相关技术,pdf格式
用Scala写的。这也不支持scala语言 就写java了 反正都要运行在jvm里面的
《响应式架构:消息模式Actor实现与Scala、Akka应用集成》由10章构成,详细介绍了使用Actor模型中的响应式消息传输模式的理论和实用技巧。其中包括:Actor模型和响应式软件的主要概念、Scala语言的基础知识、Akka...
akka scala 实现求连续平方和,分布式计算,快速理解分布式计算原理!