摘要: 这一条其实也没说啥,就是策略模式。碰到这种场景时,定义一个策略接口,然后不同策略子类实现它,主类包含这个接口的引用就可以了。 嵌套类是指被定义在另一个类的内部的类。嵌套类存在的目的应该只是为它的外围类提供服务。嵌套类包括四种:静态成员类、非静态成员类、匿名类和局部类。除了第一种之外,其他三种都被称为 阅读全文
posted @ 2016-03-20 16:44 张万帆 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 这一条就举了一个反例,说有些接口中只包含常量。这是对接口的不良使用。要实现相同的功能,应该使用不可实例化的工具类(第4条说过)。 另外,还学了一招,如果大量使用的话,就需要一直用类似PhysicalConstants.AVOGADROS_NUMBER的方式来调用。这时,可以用java的静态导入机制( 阅读全文
posted @ 2016-03-20 15:54 张万帆 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 这两条中,提到了一个很重要的概念骨架实现。也就是说,抽象类实现接口的形式。这样的好处是,接口本来不能提供默认的实现,现在可以在抽象类中实现一些关键的方法。结合了接口和抽象类的优点。例如AbstractCollection,就是一个骨架实现。 另外,在查看源码的过程中,发现居然接口中也可以有方法体了。 阅读全文
posted @ 2016-03-20 15:26 张万帆 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 第15条:使可变性最小化 通过一个复数类来看不可变类。 复数类具有实部和虚部,它提供的加减乘除运算都是返回新的Complex实例,而不是修改这个实例。不可变对象有很多优点,它只有一种状态,即被创建时的状态,而且前面也提到过,它本质上是线程安全的。 这里还用到一个小技巧,对频繁使用的值,为它们提供公有 阅读全文
posted @ 2016-03-20 14:04 张万帆 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 设计良好的模块的模块与设计不好的模块区别在于,设计良好的模块会隐藏所有的实现细节,把它的API与他的实现清晰地隔离开来。然后模块之间只通过API通信。 信息隐藏之所以非常重要,是因为它可以有效地解除各模块的耦合性,使这些模块可以独立地开发、测试。 类和接口有两种访问级别。包级私有和公有,包级私有就是 阅读全文
posted @ 2016-03-20 12:16 张万帆 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 1.开发工作台简介 基本上分为左侧菜单和右侧主界面。点击菜单时,右侧弹出tab页,和普通的管理系统没有太大的差别。 左侧菜单包括以下内容: 数据开发:当任务需要日常自动调度时,可以建工作流节点。数据开发tab就是设计工作流的各种任务包括 工作流节点、函数。各种任务类型实例请看 "工作流节点例子" 模 阅读全文
posted @ 2016-03-10 21:22 张万帆 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: 1.引言 阿里云从2009年开始在云计算服务方面进行研究到目前已经有五个年头了,这五年中阿里云突破了各种各样的技术难题,从去年的5K集群到今年的ODPS,阿里云已经成为云服务产业中的领军人物。在阿里云看来,云计算和大数据是不可分割的,就好比一个硬币的两面,精准的大数据分析依赖于强大的云计算平台。 阿 阅读全文
posted @ 2016-03-10 19:55 张万帆 阅读(5105) 评论(0) 推荐(0) 编辑
摘要: 第12条:考虑实现Comparable接口 这一条非常简单。就是说,如果类实现了Comparable接口,覆盖comparaTo方法。 就可以使用Arrays.sort(a)对数组a进行排序。 它与equals方法有点类似,但是,因为Comparable接口是参数化的,而且comparable方法时 阅读全文
posted @ 2016-03-06 20:17 张万帆 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 第10条:始终要覆盖toString 这一条没什么好讲的,就是说默认的toString方法打印出来的是类名+@+十六进制哈希码的值。我们应该覆盖它,使它能够展示出一些更为详细清晰的信息,这个看实际情况吧。 第11条:谨慎地覆盖clone 有时候会出现这样的场景,你需要备份一些数据,对其一进行修改时, 阅读全文
posted @ 2016-03-06 18:46 张万帆 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 第8条:覆盖equals时请遵守通用约定 ①约定的内容 自反性。对于任何非null的引用值x。x.equals(x)必须返回true。 对称性。对于任何非null的引用值x和y。当且仅当y.equals(x)返回true时,x.equals(y)必须返回true。 传递性。对于任何非null的引用值 阅读全文
posted @ 2016-03-06 12:14 张万帆 阅读(253) 评论(0) 推荐(0) 编辑