子系统设计和FishiGUI的子系统设计

目的和问题:

除了依赖关系,还要规范操作系统适配层的所有接口,只要操作系统适配层的接口在移植过程中始终保持稳定,框架层的设计和实现就不会收到影响,但是为了实现同一接口的目标,为了保证同样的功能接口可以适用于不同的操作系统,必须对操作系统适配层进行更进一步的分解和细化

子系统设计:

子系统设计属于面向对象设计的范畴,是在面向对象分析工作结束之后进行的,对于那些相对独立却又比较复杂,不能用一个类来概述的分析类,我们可以把它们定义为一个子系统,同时精确地定义子系统的几口。子系统通过接口与其他的类和对象协同工作,实现整个系统功能,子系统设计是对系统架构的进一步细化,是对架构中的特定层次进行的更为精密的划分

子系统必须实现一个或者多个接口,这些接口清晰地定义了子系统的行为,这样除了对外的接口,子系统将内部的数据和操作完全封装了起来。对于一个接口固定的子系统而言,我们可以更具需要替换其内部结构和实现

子系统和包的区别:

  • 子系统通过接口清晰地定义了自己的行为,但是普通的包一般不会这样做
  • 子系统完全封装了它的内部数据和操作,普通包知识部分封装
  • 子系统很容易被替换,普通的包不太容易被替换
  • 子系统清晰地定义了接口,外部客户通过接口来访问该子系统,而包一般不定义接口,外部客户通过一个或者多个公共类来访问包---外部客户对于子系统和包的不同访问方式如下

因此子系统设计的首要目标是把一个组件中较复杂的部分抽象为固定的接口,在后续的详细设计时,就可以用接口来替换整个子系统,通过这种方式,可以有效地分离系统的复杂性,简化大型系统或大型模块的设计过程

FishiGUI的子系统设计:

对于不同的操作系统,操作系统适配层的实现可能大相径庭,但是为了保证框架层和应用层的稳定,操作系统适配层中不同的实现代码应该能在保持接口稳定的前提下自由替换,要求合理地设计操作系统适配层中的子系统并且精确定义子系统的几口

时间: 2024-10-26 11:16:30

子系统设计和FishiGUI的子系统设计的相关文章

架构设计之如何写架构设计说明书

架构设计是需求分析到软件实现的桥梁,也是决定软件质量的关键.编制架构设计说明书是开发人员向架构师转变必定会经历的过程.在架构师整个的成长过 程中,必定会经历编制架构设计说明书.评审架构设计说明书以及根据业务需求分析设计系统架构的三个过程.作为一个架构师,我想尝试一下根据这三个过程对不 同能力需要,写一次系列文章,包括<架构设计三部曲之如何写架构设计说明书>.<架构设计三部曲之如何评审架构设计说明书>以及<架构设计三部曲之如何做 架构设计>,一来可以帮助自己整理思路,重新

舰队管理系统分析与设计-舰队管理系统分析与设计(Oracle),功能需求,数据字典,软件工程

大型数据库技术项目 舰队管理系统分析与设计 舰队管理系统 1.项目背景介绍 中美海军实力对比分析: 中国海军虽然有了很大的进步,但是我们和世界先进的海军的实力有着很大差距,通过对比中美海军主战舰的数量和性能,中国海军要想拥有能与美国匹敌的能力和远距离投送兵力,至少需要十年的时间,或是更长的时间. 航空母舰 中国:无 美国:11艘核动力航母 两栖攻击舰 中国:无 美国:11艘可携带短距离起飞/垂直降落战斗机的两栖攻击舰 导弹巡洋舰 中国:无 美国:22艘导弹巡洋舰 驱逐舰: 中国:27艘吨位不同.

Linux usb子系统(一):子系统架构

摘自:http://www.360doc.com/content/15/0519/05/22854460_471598740.shtml 摘自:https://www.cnblogs.com/cslunatic/p/3726053.html Linux usb子系统(一):子系统架构 一.USB协议基础知识   前序:USB概念概述 USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB)  USB2.0版本速度480Mbps(高速USB). USB 分为

用户界面设计经验分享:界面设计技巧分享

如此有用的文章我已记不得是什么时候发现的了,但在看完的那一刻便想将之翻译,分享给大家自己也受用. 时间过了很久,来到了2014年,终于静下心来花了大把时间连同图片一起译成了中文.像我这样业余的翻译六级分数只够及格的程序员,不敢说做到信雅达,但求意思到位. 1 尽量使用单列而不是多列布局 单列布局能够让对全局有更好的掌控.同时用户也可以一目了然内容.而多列而已则会有分散用户注意力的风险使你的主旨无法很好表达.最好的做法是用一个有逻辑的叙述来引导用户并且在文末给出你的操作按钮. 2 放出礼品往往更具

模块管理常规功能自定义系统的设计与实现(33--权限设计[3])

权限设计(3) 三.字段的只读权限.对于可以修改记录的操作员,可以进一步限制哪些字段对于他是不可修改的.这个功能很少用到,是用户提出来的,我就顺便加了进去.实现这个功能也很简单建立只读字段角色,然后加入模块的字段,最后再将角色加到操作员上即可.前台在解释生成edit form 的时候,将这个字段的只读属性置为true即可.后台Hibernate在新增或保存的时候,可以把只读字段过滤掉,不能保存或不能修改即可. 四.字段的可视权限.有时候某些字段你不希望被某些群组的操作员看到,那么就设置一个隐藏字

JavaScript网站设计实践(三)设计有特色的主页,给主页链接添加JavaScript动画脚本

原文:JavaScript网站设计实践(三)设计有特色的主页,给主页链接添加JavaScript动画脚本 一.主页一般都会比较有特色,现在在网站设计(二)实现的基础上,来给主页添加一点动画效果. 1.这里实现的动画效果是:当鼠标悬停在其中某个超链接时,会显示出属于该页面的背景缩略图,让用户知道这个链接的页面大概内容是什么. 效果图: 2.实现这个效果的思路 (1)把主页的几个链接的背景图片缩放到150px*150px,拼成一张750*150的图片,并保存为slideshow.png,存放到ima

常用快速原型设计工具大比拼、原型设计工具哪个好用

原型设计是交互设计师与PD.PM.网站开发工程师沟通的最好工具.而该块的设计在原则上必须是交互设计师的产物,交互设计以用户为中心的理念会贯穿整个产品.利用交互设计师专业的眼光与经验直接导至该产品的可用性. 简单说,“原型”是在项目前期阶段的重要设计步骤,主要以发现新想法和检验设计为目的,重点在于直观体现产品主要界面风格以及结构.并展示主要功能模块以及之间相互关系,不断确认模糊部分,为后期的视觉设计和代码编写提供准确的产品信息. 目的: 下列角色使用用户界面原型: 用例阐释者,用来了解用例的用户界

模块管理常规功能自定义系统的设计与实现(11--Grid导航设计初步[1])

Grid导航设计(初步)[1] 这一节讲一下Grid导航设计.在前面的章节中有看到Grid导航的样子,那是一个模块的父模块(ManyToOne)对子模块的导航操作.现在对于一个"省份"模块,其没有父模块,我们能对其设计成怎么样的导航呢? 只需一步,将一个字段定义为导航字段.进入"模块字段" 点击修改 保存后,刷新页面.再进入"省份模块"后,可以看到grid的左边就会有一个导航列表. 具选中某个导航值,Grid列表中显示的值就会以此值作为条件进行约

mysql web数据库的设计归范-2表设计原则

[职责分离原则] 职责分离原则是指在设计的时候应当考虑到数据的产生,聚合使用等原则,每个系统干自己能干的事情,每个系统只干自己的事情.一个数据表应该放在哪个系统中,通常取决于几点: 1. 谁产生这个信息:通常情况下谁产生了这个数据应当对此数据负责:也就是考虑该数据的创建,发展,销毁等全生命周期的定义,并将这个定义维护起来提供给消费者作为消费原则: 2. 谁最经常使用这个信息:如果某个系统最经常使用这个数据,最经常去修改某个数据,也应该由该系统来负责保存维护该数据: 3. 遵守高内聚,低耦合的考虑