FishiGUI系统架构分析 和层次结构 二

FishiGUI的类型

FIshiGUI属于为应用程序提供图形界面服务的框架系统,它并不直接与最终用户交互(负责与最终用户交互的是在FishiGUI基础上开发的应用程序),而是接受操作系统传来的硬件消息,完成相应的处理后,再将绘图消息发送给操作系统的图形接口,因此FishiGUI是一个系统类型的软件

层体系结构:

层体系结构有助于构建这样的应用:它能被分解成自任务组,其中每个子任务组处于一个特定的抽象层次上,分层模式采用层次化的组织方式,每一层都是为上一层提供服务,并使用下一层提供的功能。这种模式允许将一个复杂问题逐步分层实现。层次模式中的每一层最多只影响两层,只要给相邻层提供相同的接口,就允许每层用不同的方法实现,可以充分支持软件复用。

分层模式的典型应用是分层通信协议,如ISO/OSI的七层网络模型。

分层架构也是按照对象和类,而不是按照功能来分解软件系统的

设计要求:

  • 层和层之间的耦合应该尽可能地松散,这样只要保证接口一致,某一层的具体实现就很容易被扩展和替换
  • 级别相同,职责类似的元素应该被组织到同一层中
  • 复杂的模块应该被继续分解为粒度更细的层或者子系统
  • 应该尽量将可能发生变化的元素封装到一个层中,这样,变化发生时我们只要改变受影响的层就可以了
  • 每一层应当只调用下一层提供的功能服务,而不能跨层调用,但是对于一些限制不是太严格的小系统,我们也可以根据情况灵活处理
  • 每一层不能使用上一层提供的功能服务,也就是说,决不能在层与层之间才成双向依赖或者循环引用
  • 避免循环依赖的方法:可以从上面的层中提取公共部分,组成一个新的层,供下面的层调用,或者使用特殊的设计模式如观察者模式

时间: 2024-10-07 17:55:53

FishiGUI系统架构分析 和层次结构 二的相关文章

秒杀系统架构分析与实战

0 系列目录 秒杀系统架构 秒杀系统架构分析与实战 1 秒杀业务分析 正常电子商务流程 (1)查询商品:(2)创建订单:(3)扣减库存:(4)更新订单:(5)付款:(6)卖家发货 秒杀业务的特性 (1)低廉价格:(2)大幅推广:(3)瞬时售空:(4)一般是定时上架:(5)时间短.瞬时并发量高: 2 秒杀技术挑战 假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要面对的技术挑战有: 对现有网站业务造成冲击 秒杀活动只是网站营销的一个附加活动,

秒杀系统架构分析与实战(参考、转载)

目录[-] 0 系列目录 1 秒杀业务分析 2 秒杀技术挑战 3 秒杀架构原则 4 秒杀架构设计 4.1 前端层设计 4.2 站点层设计 4.3 服务层设计 4.4 数据库设计 4.4.1 基本概念 4.4.2 设计思路 5 大并发带来的挑战 5.1 请求接口的合理设计 5.2 高并发的挑战:一定要“快” 5.3 重启与过载保护 6 作弊的手段:进攻与防守 6.1 同一个账号,一次性发出多个请求 6.2 多个账号,一次性发送多个请求 6.3 多个账号,不同IP发送不同请求 7 高并发下的数据安全

【转载】秒杀系统架构分析与实战

本文转载自:http://my.oschina.net/xianggao/blog/524943 0 系列目录 秒杀系统架构 秒杀系统架构分析与实战 1 秒杀业务分析 正常电子商务流程 (1)查询商品:(2)创建订单:(3)扣减库存:(4)更新订单:(5)付款:(6)卖家发货 秒杀业务的特性 (1)低廉价格:(2)大幅推广:(3)瞬时售空:(4)一般是定时上架:(5)时间短.瞬时并发量高: 2 秒杀技术挑战 假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是100

人人网张铁安:Feed系统架构分析(转)

原文:http://www.csdn.net/article/2010-07-26/277273 继成功举办首期TUP活动后,日前在北京丽亭华苑酒店鸿运二厅,由CSDN和<程序员> 杂志联合策划组织的TUP第二次活动如期而至,本次活动以Web 2.0技术为主题,聚焦当下火热的社交网.微博架构与实时搜索领域.就相关领域及产品研发背后的技术.产品设计及用户体验话题为与会者提供全开放式的交流 平台.即使是付费沙龙,参会报名人数仍在不断上升,本次活动有超过300人来到现场. 人人网技术经理张铁安 以下

电商商品秒杀系统架构分析与实战

网址:http://my.oschina.net/xianggao/blog/524943 0 系列目录 1 秒杀业务分析 2 秒杀技术挑战 3 秒杀架构原则 4 秒杀架构设计 4.1 前端层设计 4.2 站点层设计 4.3 服务层设计 4.4 数据库设计 4.4.1 基本概念 4.4.2 设计思路 5 大并发带来的挑战 5.1 请求接口的合理设计 5.2 高并发的挑战:一定要“快” 5.3 重启与过载保护 6 作弊的手段:进攻与防守 6.1 同一个账号,一次性发出多个请求 6.2 多个账号,一

[转]秒杀系统架构分析与实战

转自:http://my.oschina.net/xianggao/blog/524943 目录[-] 0 系列目录 1 秒杀业务分析 2 秒杀技术挑战 3 秒杀架构原则 4 秒杀架构设计 4.1 前端层设计 4.2 站点层设计 4.3 服务层设计 4.4 数据库设计 4.4.1 基本概念 4.4.2 设计思路 5 大并发带来的挑战 5.1 请求接口的合理设计 5.2 高并发的挑战:一定要“快” 5.3 重启与过载保护 6 作弊的手段:进攻与防守 6.1 同一个账号,一次性发出多个请求 6.2

Android基础入门教程——1.1 背景相关与系统架构分析

Android基础入门教程--1.1 背景相关与系统架构分析 1.Android背景与当前的状况 Android系统是由Andy Rubin创建的,后来被Google收购了:最早的版本是:Android 1.1版本 而现在最新的版本是今年5.28,Google I/O大会上推出的Android M,有趣的是Android系统的命名都是以点心来命名的,下述表是15个Android版本名称,对应API号以及发布时间! 系统版本名称 API版本号 发布时间 Android 1.5:Cupcake:纸杯

系统架构师秘籍(二)软件架构- 续

上次的文章中,我们简单描述了一下软件架构的概念,接下来我们描述一下软件架构中的具体细节. 软件架构 所谓软件元素,即指组成软件系统的一个最基本的模块.一个软件元素的特性在很大程度上取决于系统的类型,以及你考虑和选取软件元素的背景和关注点.程序Lib库,子系统,可部署的颗粒或者控件(如企业级Java Bean,ActiveX 控件等),可重用的软件产品(如数据库管理系统),全部的应用程序都可以称为一个软件系统的软件元素,它取决于软件系统的构建. 一个软件元素所拥有的特点如下: 一个明确的界定的责任

大型网站系统架构分析

千万级的注册用户,千万级的帖子,nTB级的附件,还有巨大的日访问量,大型网站采用什么系统架构保证性能和稳定性? 首先讨论一下大型网站需要注意和考虑的问题. 数据库海量数据处理:负载量不大的情况下select.delete和update是响应很迅速的,最多加几个索引就可以搞定,但千万级的注册用户和一个设计不好的多对多关系将带来非常严重的性能问题.另外在高UPDATE的情况下,更新一个聚焦索引的时间基本上是不可忍受的.索引和更新是一对天生的冤家. 高并发死锁:平时我们感觉不到,但数据库死锁在高并发的