子系统和包

  • 概述
  • 子系统
  • 对比和总结

概述

主要的逻辑构造块是类,其他逻辑结构的概念则是子系统和包。

分而治之可以将大问题划分为许多小问题,从而简化直接求解大问题的难度,这导致了问题空间的分层模块化,也导致了系统被划分为子系统和软件包。这种划分必须谨慎规划,以减少子系统和软件包的层次间的依赖。

子系统

子系统的概念特殊化了构件的概念,并被建模为构建的构造型。子系统封装了想实现的系统行为的某些部分。子系统提供的服务是由其内部的组成部分所提供的服务的结果,这也意味着子系统是不能实例化的。

子系统的服务能够也应该使用接口来定义。
封装行为以及通过接口提供服务的益处很多,包括隔离变更、可替换的服务实现、可扩展性以及复用性。

子系统可以在体系结构层被结构化,使得层之间的依赖是非循环的、最小化的。在每一层内,子系统可以嵌套,这意味着一个子系统可以包含另一个子系统。

是具有指定名字的建模元素的分组。
与子系统类似的是,包所提供的服务是其内部组分(即类)所提供服务的结果。
与子系统不同的是,包不通过暴露接口而显露其行为。
包与子系统的区别是&#

【面向对象】子系统和包相关推荐

  1. day12、面向对象进阶(包、权限修饰符、final、常量、枚举、抽象类、接口)

    面向对象进阶(包.权限修饰符.final.常量.枚举.抽象类.接口) 包 权限修饰符 final 常量 常量概述和基本作用 常量做信息标志和分类 枚举 枚举的概述 枚举的使用场景演示 抽象类 抽象类概 ...

  2. 面向对象编程:包,继承,多态,抽象类,接口

    一.包 1.导入包中的类 2.静态导入 3.将类放到包中 4.包的访问权限控制 二.继承 1.语法规则 2.protected 关键字 3.final 关键字 三.组合 四.多态 1.向上转型 2.动 ...

  3. 架构设计 —— 子系统与包

    老虎吃天,总要找到下口点. 0. 分解为子系统(subsystems)或包(packages) 常用的子系统(对应于包): 业务规则 用户界面 数据库访问: 对系统的依赖性: 比如开发一个运行于 wi ...

  4. java面向对象编程_包_继承_多态_重载和重写_抽象类_接口_this和super

    目录点击跳转 包 包的命名方法 导入包中的类 系统包的介绍 **注意事项** 继承 基础知识 构造方法 **基础语法** `protected`修饰符 组合 `this`和`super`关键字 `th ...

  5. 组件、子系统、包区别联系

    区别联系 组件是系统中遵循一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现.组件一般表示实际存在的.物理的物件,组件可以是:程序源代码.子系统.动态链接库等,组件一般都包含很多类并实现 ...

  6. 面向对象(内部类,static,包,访问修饰符,final)

    final final是最终修饰符,可以修饰类.成员方法.变量. final修饰的类无法被继承. final修饰的方法无法被重写. final修饰的变量无法被再次赋值,变为了常量. final修饰的引 ...

  7. 面向对象的JavaScript-009-闭包

    引自:https://developer.mozilla.org/cn/docs/Web/JavaScript/Closures 闭包是指能够访问自由变量的函数 (变量在本地使用,但在闭包中定义).换 ...

  8. 面向对象编程(包,继承,组合)

    前言 包 包含义 导入包中的类 静态导入 将类放到包中 包的访问权限控制 继承 继承出现的背景 语法规则 字段和方法的四种访问权限 更复杂的继承关系 final 关键字 组合

  9. javaSE各阶段练习题--面向对象-StringBuilder-继承-包和访问权限

    1.将前一天作业,用StringBuffer进行改造,尽量提升时间和空间效率 定义一个方法,功能如下:给定一个数组,转换成一个字符串 例如:数组为int[] arr = {1, 2, 3},字符串为[ ...

最新文章

  1. Ubuntu 16.04卸载一些不必要的预装软件
  2. 什么是设计模式_什么是设计?
  3. 《Windows核心编程》の窗口过程的使用
  4. (转)Mime类型与文件后缀对照表及探测文件MIME的方法
  5. 【JAVA SE】第十三章 序列化与反序列化
  6. NLTK自然语言处理简介
  7. java计算器算法描述_基于Java的计算器算法(源代码)
  8. 学计算机学的想死,“我不是学习机器,真的好想死”
  9. Stanford机器学习---第十一讲.异常检测
  10. Gym - 101194F(后缀数组)
  11. 『HTML5挑战经典』是英雄就下100层-开源讲座(一)从天而降的英雄
  12. centos转换linux格式,CentOS 下转换网易云音乐ncm格式为mp3
  13. 搜索引擎算法之同义词、近义词、上位词挖掘
  14. 深入理解c语言运算符优先级
  15. Android自定义View里面获取宽高及dp和px间的转换
  16. iOS获取UDID的方法及步骤
  17. 制作双系统U盘启动盘【Ventoy】
  18. gpx读写java_GPX Parser for Java?
  19. 超详细!K8s 面试知识点
  20. 代码审查(Code Review)

热门文章

  1. Linux 查找目录下大于*M的文件
  2. 对称机密算法与非对称机密算法
  3. VM虚拟机链接克隆及linux eth0网卡的快速设置方法
  4. SpringMvc三大组件详解
  5. 使用缓存的9大误区(上)(转)
  6. 【SpringMVC学习07】SpringMVC中的统一异常处理
  7. $arr['id'],$arr[id]的区别
  8. Array.prototype.slice.call
  9. 判断radio单选按钮是否选中
  10. nginx只能访问80端口_nginx 访问不了非80端口