FishiGUI的类型
FIshiGUI属于为应用程序提供图形界面服务的框架系统,它并不直接与最终用户交互(负责与最终用户交互的是在FishiGUI基础上开发的应用程序),而是接受操作系统传来的硬件消息,完成相应的处理后,再将绘图消息发送给操作系统的图形接口,因此FishiGUI是一个系统类型的软件
层体系结构:
层体系结构有助于构建这样的应用:它能被分解成自任务组,其中每个子任务组处于一个特定的抽象层次上,分层模式采用层次化的组织方式,每一层都是为上一层提供服务,并使用下一层提供的功能。这种模式允许将一个复杂问题逐步分层实现。层次模式中的每一层最多只影响两层,只要给相邻层提供相同的接口,就允许每层用不同的方法实现,可以充分支持软件复用。
分层模式的典型应用是分层通信协议,如ISO/OSI的七层网络模型。
分层架构也是按照对象和类,而不是按照功能来分解软件系统的
设计要求:
- 层和层之间的耦合应该尽可能地松散,这样只要保证接口一致,某一层的具体实现就很容易被扩展和替换
- 级别相同,职责类似的元素应该被组织到同一层中
- 复杂的模块应该被继续分解为粒度更细的层或者子系统
- 应该尽量将可能发生变化的元素封装到一个层中,这样,变化发生时我们只要改变受影响的层就可以了
- 每一层应当只调用下一层提供的功能服务,而不能跨层调用,但是对于一些限制不是太严格的小系统,我们也可以根据情况灵活处理
- 每一层不能使用上一层提供的功能服务,也就是说,决不能在层与层之间才成双向依赖或者循环引用
- 避免循环依赖的方法:可以从上面的层中提取公共部分,组成一个新的层,供下面的层调用,或者使用特殊的设计模式如观察者模式
时间: 2024-10-07 17:55:53