简单工厂模式描述的是,通过类的继承关系,父类(工厂类)与子类(产品类),调用父类中的方法,实际干活儿的是子类中的方法;封装需求的不确定性,做出通用的编程,下面以常用的计算器为例:最容易想到的写法是:
1 Console.WriteLine("请输入操作数1:"); 2 ...
分类:
其他好文 时间:
2014-05-19 08:35:36
阅读次数:
240
一、装饰者模式的内容装饰(Decorator)模式又名包装(Wrapper)模式[GOF95]。装饰者模式动态地将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。该模式以对客户端透明的方式扩展对象的功能。利用组合在运行时动态的合成自己想要的对象,这比继承更具弹性,是继承关系的一个替...
分类:
其他好文 时间:
2014-05-16 00:31:26
阅读次数:
427
使用将若干相似的类映射为单表,对拥有许多特殊数据的类使用具体表继承.对高层次使用类表继承,对低层次使用具体表继承.Single Table
Inheritance在DB中将类继承层次设计为一个单表,表中各列代表不同类中的所有域.运行机制每个类负责把与之相关的数据保存在表的一行中.表中其它不相关的列留...
分类:
数据库 时间:
2014-05-15 14:34:30
阅读次数:
312
继承和组合的使用原则:
1、很多资料中提到的一点,如果两个类之间是is-a的关系,那么就使用继承,而如果是has-a的关系就使用组合。
但是这也不是代表is-a是使用继承的绝对理由,有时候为了消除继承关系带来的耦合,使用组合可以更好的实现封装细节。
如果在一个系统中大量应用继承,继承层次深了,那么会给系统的开发和维护带来困难。
2、无论何时,如果...
分类:
其他好文 时间:
2014-05-15 01:38:59
阅读次数:
240
什么是钻石问题?如下图所示,B和C继承于A,D继承B和C(多重继承),在D中调用A的方法时,无法判断是调用B中的实现还是C的实现,下图继承关系是个菱形,所以该问题又叫做菱形问题。如果java要解决这个问题,需要引入更复杂的机制,这和java
的初衷是背道而驰的(simple),但是java中可以实现...
分类:
编程语言 时间:
2014-05-14 22:45:11
阅读次数:
393
虚继承和虚基类 虚继承:在继承定义中包含了virtual关键字的继承关系;
虚基类:在虚继承体系中的通过virtual继承而来的基类,需要注意的是:class CSubClass : public virtual CBase {};
其中CBase称之为CSubClass的虚基类,而不是说CBa.....
分类:
其他好文 时间:
2014-05-13 18:15:46
阅读次数:
435
*UML类图绘制*-----------------1. **UML结构图与功能关系描述**2.
**UML行为图与功能关系描述***************************UML结构图与功能关系描述*========1. 继承关系2.
聚集和组成3. 依赖关系
分类:
其他好文 时间:
2014-05-09 03:39:37
阅读次数:
244
一、继承映射的需要关系数据库的表之间不存在继承关系,但为了将面向对象中的继承关系映射到关系数据库中,可以使用以下三种继承映射策略:-每个继承层次一张表-每个具体类一张表-每个类一张表。二、对比--每个继承层次一张表:(优点)最简单、执行效率最高(因为无需进行任何关联操作)(缺点)存在冗余字段;在数据...
分类:
系统相关 时间:
2014-05-09 02:52:54
阅读次数:
456
最近翻阅资料,找到
chart.DataManipulator.FinancialFormula()公式的使用,打开另一扇未曾了解的窗,供大家分享一下。一
DataManipulator类运行时,执行数据操作。此类是通过chart中DataManipulator属性对外公开的。在C#中的继承关系如下...
分类:
其他好文 时间:
2014-05-07 00:41:06
阅读次数:
934