一、优秀的框架的特征
1. 重用
(1)为了避免重复劳动,为了降低成本,我们希望能够重用之前的代码、之前的设计。重用是 框架 实现中最为核心的目标,重心中的重心。提高复用度是框架的首要目标。
(2)层次分明,高度组件化,在框架中的各个部件高度独立,可拆可组(任意拆卸,任意组合),着力通用。
(3)部件细化,设计精巧,运行高效,内存占用低。
(4)耦合度低(可拆可组)
2. 高效
不论是什么系统,我们都希望架构是高效的。
3. 安全
运行安全稳定【可以通过完善TDD测试机制来保障】
4. 可拓展
我们需要架构具有可拓展性,以适应未来可能的变化。
5. 简明
一个复杂的架构不论是测试还是维护都是困难的。我们希望架构能够在满足目的的情况下尽可能的简单明了。【但是简单明了的含义究竟是什么好像并没有一个明确的定义。例如:使用模式能够使设计变得简单,但这是建立在我熟悉设计模式的基础上。对于一个并不懂设计模式的人,他会认为这个架构很复杂。】
6. 透明
把过多的实现细节隐藏起来,仅把需求的接口呈现出来(具体的实现对使用框架的开发者来说就是透明的)。这样就提高了使用者的效率,降低了学习的门槛。
二、设计具体指导原则
1、概要框架总体功能目的
2、对框架总体功能目的进行细化,分层(层次之间相对独立,互不干涉),仔细斟酌,理清层次之间的依赖关系(如,核心层,中间层,应用层)。
* 核心层:处于最低层,不依赖于框架中的其它层;
http://www.cnblogs.com/eugenewu0808/archive/2008/12/25/1362128.html
* 中间层:根据具体 框架 的需要自行定义,取名,注意理清层次之间的依赖关系;
http://www.cnblogs.com/eugenewu0808/archive/2008/12/25/1362123.html
* 应用层:在核心层以上,依赖于核心层;
http://www.cnblogs.com/eugenewu0808/archive/2008/12/25/1362122.html
3、从核心层开始,逐层细化各个部件,仔细推敲部件名称,构思部件的功能,合理归类。