------- android培训、java培训、期待与您交流! ---------- 异常1、异常的继承体系: java.lang.Throwable类,所有异常和错误的父类 Error类所有错误的父类 Exce...
分类:
其他好文 时间:
2014-08-21 00:04:13
阅读次数:
494
1、潜在的自我赋值 a[i] = a[j]; *px = *py; 当两个对象来自同一个继承体系时,他们甚至不需要声明为相同类型就可能造成别名。 现在担心的问题是:假如指向同一个对象,当其中一个对象被删,另一个也被删,这会造成不想要的结果。 该怎么办? 比如: widget& widget:: op...
分类:
编程语言 时间:
2014-08-16 12:27:10
阅读次数:
237
桥接模式:把事物对象和其具体行为、具体特征分离开来,使它们可以各自独立的变化。事物对象仅是一个抽象的概念。如“圆形”、“三角形”归于抽象的“形状”之下,而“画圆”、“画三角”归于实现行为的“画图”类之下,然后由“形状”调用“画图”。“形状”成为一个继承体系,“画图”成为另一个继承体系,抽象和实现两者的关系为聚合关系。UML图如下:
Abstraction:定义抽象的接口,该接口包...
分类:
其他好文 时间:
2014-08-08 09:42:10
阅读次数:
215
本文主要介绍了Spark SQL里目前的CLI实现,代码之后肯定会有不少变动,所以我关注的是比较核心的逻辑。主要是对比了Hive CLI的实现方式,比较Spark SQL在哪块地方做了修改,哪些地方与Hive CLI是保持一致的。
基本上Spark SQL在CLI这块的实现很靠近Hive Service项目里的CLI模块,主要类继承体系、执行逻辑差不多都一样。Spark SQL修改的关键逻辑在CLIService内的SessionManager内的OperationManager里,将非元数据查询操作的q...
分类:
数据库 时间:
2014-08-05 00:44:58
阅读次数:
939
Item 13:Use objects to manage resources
假设我们使用一个用来塑膜投资行为的程序库,其中各式各样的投资类型继承自一个root class:
class Investment { ... }; //“投资类型”继承体系中的root class
进一步假设,这个程序系通过一个工厂函数(工厂函数会“返回一个base class指针,指向新生成...
分类:
编程语言 时间:
2014-08-04 18:06:17
阅读次数:
212
下面我们来盘点一下系统重构工具箱里都有什么,也就是看一看系统重构到底都有哪些方法。系统重构总是在不同层次上调整我们的代码,因此重构方法也就分为了多个层次。从总体上看,重构方法分为以下几个层次:方法的重构、对象的重构、对象间的重构、继承体系间的重构、组织数据的重构与体系架构的重构。
分类:
其他好文 时间:
2014-07-28 02:59:49
阅读次数:
265
下面我们来盘点一下系统重构工具箱里都有什么,也就是看一看系统重构到底都有哪些方法。系统重构总是在不同层次上调整我们的代码,因此重构方法也就分为了多个层次。从总体上看,重构方法分为以下几个层次:方法的重构、对象的重构、对象间的重构、继承体系间的重构、组织数据的重构与体系架构的重构。...
分类:
其他好文 时间:
2014-07-27 23:44:59
阅读次数:
272
在C++中,一般的架构设计都是基于多态,基于接口编程。一般的是基类提供接口,子类根据具体的业务逻辑来实现接口,以此来提供程序设计的过程中的可注入性,提高灵活性,但是事实可能不经如此。引入了多态,其实也就是引入了耦合,其强制规定了继承基类和接口的形式,这在整体继承体系中都是不可以更改的。C++0x中的bind函数和function模板类为我们提供了很好的设计解决方案,提供多态基于函数对象,其只和函数的返回值和参数有关。陈硕老师称其为Object-base编程,通过对象来完成功能注入。拳拳到肉(陈老师原话)。...
分类:
其他好文 时间:
2014-07-27 23:41:15
阅读次数:
383
一、定义 里氏替代原则(LSP),英文全称是Liskov Substitution Principle,Liskov是该替代原则的提出者。该原则的思想是:在任何父类出现的地方都可以用它的子类来替代,而不影响功能。 其实里氏替代原则的意思就是:同一个继承体系中的对象应该有共同的行为...
分类:
其他好文 时间:
2014-07-21 11:16:57
阅读次数:
177
策略模式:指对象(被称为上下文)有某个行为,但是在不同的场景中,该行为有不同的实现算法。我们可以把算法单独提出来形成一个继承体系,然后让上下文包含某个算法即可。这样,当我们需要添加算法时,只需要继承某个抽象基类然后实现自己的算法即可,不需要修改其它已经实现的算法;当需要修改某个上下文所包含的算法时,也只需要修改上下文内指向算法的指针即可。下面这个例子是使用C++编写的一个带策略模式的计算器:
...
分类:
其他好文 时间:
2014-07-14 13:34:47
阅读次数:
178