学习要点:1.OOP 的封装2.OOP 的继承3.OOP
的多态面向对象的三个主要特性是封装、继承和多态。一.OOP的封装隐藏对象的字段和实现细节,仅对外公开接口,控制在程序中字段的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机...
分类:
其他好文 时间:
2014-05-26 19:19:44
阅读次数:
228
一、模式定义:
用一个中介者对象来封装一系列的对象交互。中介者使各对象不需要显式的相互引用,从而使其耦合松散,而且可以独立的改变他们之间的交互。
二、结构图
1) 抽象中介者:定义同事(Colleague)对象到中介者(Mediatior)对象的接口,通常是一个事件方法。
2) 具体中介者:具体中介者实现抽象中介者声明的方法。知晓所有的具体同事...
分类:
其他好文 时间:
2014-05-25 21:51:52
阅读次数:
276
机房收费系统的重构已经开始很久了,最近两天才感到有了一点儿头绪。
对这次重构,刚开始计划的是先做数据库,然后优化下,列出每个窗体对表的访问关系,抽出常用的访问作为存储过程,然后把访问数据库的常用方法封装成SqlHelper.这部分就是数据库的部分。
然后就是软件的结构:整体上是分了七层:三层+实体+外观+抽象工厂+D层接口。虽然计划的很好,但是在具体分层这里想了很久。...
分类:
其他好文 时间:
2014-05-25 21:35:49
阅读次数:
180
桥接模式,将抽象部分与它的实现部分分离,使他们都可以独立的变化。
抽象部分和实现部分不是指父类和子类,这里的抽象部分和实现部分是一种组合的关系。例如,燕子是抽象部分,燕子的翅膀是实现部分,燕子和燕子的翅膀就是一种组合的关系。桥接模式所应用的设计原则就是优先使用组合/聚合,而不是继承原则。
优先使用组合/聚合而不是继承原则:
因为任何父类的改变都会影响子类的行...
分类:
其他好文 时间:
2014-05-25 21:24:35
阅读次数:
228
接着上面所讲,操作系统的设计目标和一些基本要求是什么?首先讲这个设计目标,设计目标,即是我要干什么,很清晰,我要把硬件抽象为用户提供一个接口,另外一方面,我得管理好不多的硬件资源,所以设计目标就是提供服务和管理资源!第二方面,作为一个操作系统,它应该要满足..
分类:
其他好文 时间:
2014-05-25 21:06:32
阅读次数:
340
接着上面所讲,操作系统的设计目标和一些基本要求是什么?首先讲这个设计目标,设计目标,即是我要干什么,很清晰,我要把硬件抽象为用户提供一个接口,另外一方面,我得管理好不多的硬件资源,所以设计目标就是提供服务和管理资源!第二方面,作为一个操作系统,它应该要满足..
分类:
其他好文 时间:
2014-05-25 21:01:03
阅读次数:
319
这个虚类是kafka.network.Acceptor和kafka.network.Processor的父类,提供了一个抽象的Sever线程。它的有趣之处在于为子类的启动和停止提供了线程间的协作机制。当子类的shutdown方法被调用时,子类可以得知自己被停止,在子类做了适当的处理和清理后,调用自己...
分类:
编程语言 时间:
2014-05-25 19:19:18
阅读次数:
328
由于在上篇文章已经介绍过何为三层,在这就不在介绍,这篇文章的主要内容是介绍三层+设计模式后该如何实现。首先要做的就是在哪加,如何加?
三层主要的目的是解耦合,实现各个层之间的分离,从而做到改变一个尽可能不影响其他的层。所以可以在B层和D层加一个抽象工厂模式,来实现此目的。如下图:
当然还可以适当添加别的模式,比如U层和B层加一个外观模式,总的来说表现在包图中的就是这个样子的...
分类:
其他好文 时间:
2014-05-25 12:48:29
阅读次数:
196
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。
Subject类,它把所有对观察者对象的引用保存在一个聚集里,每个主题都可以有任意数量的观察者。抽象提供一个接口,可以增加和删除观察者对象。
ConcreteSubject类,具体通知者,将有关状态存入具体观察者对象;在具体...
分类:
其他好文 时间:
2014-05-25 04:35:52
阅读次数:
222