问题: 1, 为什么需要单例; 2, 多线程需要考虑什么?

单例:

静态成员的实例也只有一份,如果只从状态表示的角度出发,是不需要单例的。静态成员足够用来做状态表示。

但是静态成员不属于对象系统的一部分。这导致它失去了只对对象系统有效的多态性。

成员附属于对象或类。OO的思想“对象”是对象。不是对象的成员。所有的OO性质都被设计在对象层或对象上面,不是对象的成员上。对象,才是OO思想中关于对象的形式承载体。

静态方法同样不属于对象系统的一部分。静态方法只是语言的一个特性而已。

新问题:

多线程的考虑点: 内存管理(内部资源管理), 状态管理, 同步, 数据正确性, 可见性, (外部)资源管理, 线程安全, 封锁粒度, 序列, Reusing, 任务系统设计(外部作业架构), 内部作业调度、架构与流程, 并发策略, 对象的Identity, 克隆,运行时的对象架构,内存上限, 批处理, 有状态/无状态? 系统的内存策略, 动态内存管理, 垃圾收集策略,

设计模式;

设计原则;

面向对象软件设计;

UML设计: 类图, 对象图, 序列图, 活动图, 状态图,...

架构;

项目管理;

CONCURRENT

OLTP设计;

 OLAP设计.

 

 

 

你可能感兴趣的:(单例)