FishiGUI系统架构分析 和层次结构 二
FishiGUI的类型
FIshiGUI属于为应用程序提供图形界面服务的框架系统。它并不直接与终于用户交互(负责与终于用户交互的是在FishiGUI基础上开发的应用程序)。而是接受操作系统传来的硬件消息。完毕对应的处理后。再将画图消息发送给操作系统的图形接口。因此FishiGUI是一个系统类型的软件
层体系结构:
层体系结构有助于构建这种应用:它能被分解成自任务组,当中每一个子任务组处于一个特定的抽象层次上。分层模式採用层次化的组织方式。每一层都是为上一层提供服务。并使用下一层提供的功能。这种模式同意将一个复杂问题逐步分层实现。层次模式中的每一层最多仅仅影响两层,仅仅要给相邻层提供同样的接口,就同意每层用不同的方法实现,能够充分支持软件复用。
分层模式的典型应用是分层通信协议,如ISO/OSI的七层网络模型。
分层架构也是依照对象和类。而不是依照功能来分解软件系统的
设计要求:
- 层和层之间的耦合应该尽可能地松散,这样仅仅要保证接口一致,某一层的详细实现就非常easy被扩展和替换
- 级别同样,职责类似的元素应该被组织到同一层中
- 复杂的模块应该被继续分解为粒度更细的层或者子系统
- 应该尽量将可能发生变化的元素封装到一个层中。这样,变化发生时我们仅仅要改变受影响的层就能够了
- 每一层应当仅仅调用下一层提供的功能服务,而不能跨层调用,可是对于一些限制不是太严格的小系统,我们也能够依据情况灵活处理
- 每一层不能使用上一层提供的功能服务。也就是说。决不能在层与层之间才成双向依赖或者循环引用
- 避免循环依赖的方法:能够从上面的层中提取公共部分,组成一个新的层,供以下的层调用,或者使用特殊的设计模式如观察者模式
FishiGUI系统架构分析 和层次结构 二的更多相关文章
- Tomcat系统架构分析
Tomcat系统架构分析 关于这边blog呢,实际开发中并不会用到,但是我觉得还是很有必要认真的写一下.毕竟我们每天在本地撸码的时候使用的就是tomcat来做web服务器.一个常识就是说我们本地在to ...
- Android基础-系统架构分析,环境搭建,下载Android Studio,AndroidDevTools,Git使用教程,Github入门,界面设计介绍
系统架构分析 Android体系结构 安卓结构有四大层,五个部分,Android分四层为: 应用层(Applications),应用框架层(Application Framework),系统运行层(L ...
- 国内经典BI系统架构分析
谈起商业智能BI,也许大家并不陌生,但你是否了解国内的各类BI系统架构? 自国内商业智能发展以来,就系统结构方面已经历了多次优化性的变革.目前国内商业智能BI系统的经典架构的模式包括数据层.业务层和应 ...
- 性能测试知多少---系统架构分析 转自https://yq.aliyun.com/articles/35147?spm=5176.100239.blogcont24251.8.lS96At
摘要: 有些事儿一旦放一放就难再拾起来,突然发现<性能测试知多少>这个系列两月没更新,关键时我都不知道啥时候放下的,总容易被各种技术所吸引走,如饥似渴的想学更多的东西,这几天一直有朋友问我 ...
- Tomcat 系统架构与设计模式之二
Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析 来自:http://www.ibm.com/developerworks/cn/java/j-lo-tomcat2/ 这个分为两个部分的 ...
- 吴裕雄--天生自然Android开发学习:android 背景相关与系统架构分析
1.Android背景与当前的状况 Android系统是由Andy Rubin创建的,后来被Google收购了:最早的版本是:Android 1.1版本 而现在最新的版本是今年5.28,Google ...
- 粗浅看 Tomcat系统架构分析
原文出处: 吴士龙 http://www.importnew.com/21112.html Tomcat的结构很复杂,但是Tomcat也非常的模块化,找到了Tomcat最核心的模块,就抓住了Tomca ...
- JAVA构建高并发商城秒杀系统——架构分析
面试场景 我们打算组织一个并发一万人的秒杀活动,1元秒杀100个二手元牙刷,你给我说说解决方案. 秒杀/抢购业务场景 商品秒杀.商品抢购.群红包.抢优惠劵.抽奖....... 秒杀/抢购业务特点 秒杀 ...
- 人人网张铁安:Feed系统架构分析(转)
原文:http://www.csdn.net/article/2010-07-26/277273 继成功举办首期TUP活动后,日前在北京丽亭华苑酒店鸿运二厅,由CSDN和<程序员> 杂志联 ...
随机推荐
- HDU 1203 【01背包/小数/概率DP】
I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ...
- 洛谷 P1616 疯狂的采药【裸完全背包】
题目背景 此题为NOIP2005普及组第三题的疯狂版. 此题为纪念LiYuxiang而生. 题目描述 LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的 ...
- BZOJ 4589 Hard Nim(FWT加速DP)
题目链接 Hard Nim 设$f[i][j]$表示前$i$个数结束后异或和为$j$的方案数 那么$f[i][j] = f[i-1][j$ $\hat{}$ $k]$,满足$k$为不大于$m$的质数 ...
- (转)NSString 类的使用
官网连接地址:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Strings/Articles/Creat ...
- -------------》》》【Vim】vim的一些简单配置~
在linux下使用 :vsp ~/.vimrc 来打开配置文件 一些命令[任何命令前加上 ! 强制执行]: :w 保存 :wq 保存退出 :q 退出 ctrl ...
- Bean装配--xml
1,bean package com.songyan.zhangpei; import java.util.ArrayList; import com.sun.xml.internal.bind.v2 ...
- symbol(s) not found for architecture arm64
问题如下: 解决:更改环境 ok Standard architectures (armv7, arm7s)
- MailKit---发送邮件
一封最复杂的电子邮件的基本情况为:含有邮件正文和邮件附件,邮件正文可以同时使用HTML格式和普通文本格式表示,并且HTML格式的正文中又引用了其他的内嵌资源.对于这种最复杂的电子邮件,可以采用如图所示 ...
- remeber me即记住我功能
1.登录过程中的记住我功能如图: 2.这样在登录认证的时候,客户端会传递两个cookie:remember_token和Tsession 3.即使客户端不传递cookie中的Tsession,只传递r ...
- 深度学习和web安全最新文章一览
先囤几篇文章: 1.https://www.cdxy.me/?p=773 2.https://segmentfault.com/a/1190000009052376 3.https://segment ...