Java 之 OOAD
1.UML
a.全称:统一建模语言
b.UML图:流程图、用例图、时序图、类图
c.接口与类之间——实现
d.对象与对象之间
①泛化——在UML中不叫继承,而叫泛化
②关联
依赖:use a 是一种弱关联关系
聚合:has a 整体与部分的关系,但可分离
组合:contains a 整体与部分的关系,但不能分离(又称强聚合)
注意:在Java中,聚合和组合基本是相同的,没有太大的区别
2.设计原则
a.衡量软件设计质量的标准:可读性、可复用性、可扩展性、可维护度
b.标准概括:高内聚度,低耦合度
c.七大原则:
①单一职责原则:一个类应该仅有一个引起他变化的原因
②开闭原则:对扩展开放,对修改关闭(核心原则)
③里氏替换原则:子类替换所有父类后,也能正常工作
④依赖倒转原则:高层模块不应该依赖低层模块,二者应该依赖抽象
抽象不应该依赖于细节,细节应该依赖抽象
⑤接口隔离原则:即最小接口原则
⑥组合/聚合复用原则:多用组合/聚合,少用继承
⑦迪米特法则:最少知识原则
Java 之 OOAD的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- Java面试题 OOAD & UML+XML+SQL+JDBC & Hibernate
二.OOA/D 与UML 部分:(共6 题:基础2 道,中等难度4 道) 96.UML 是什么?常用的几种图?[基础] 答:UML 是标准建模语言:常用图包括:用例图,静态图(包括类图.对象图和包图) ...
- JAVA架构师要求
JAVA架构师要求专业素质要求:1.理解架构师的职责和架构设计的目标.原则及取舍:2.精通架构模式,Transaction.Security.Persistence等机制及实现,IOC.AOP.SOA ...
- Java Interview Reference Guide--reference
Part 1 http://techmytalk.com/2014/01/24/java-interview-reference-guide-part-1/ Posted on January 24, ...
- java学会需要掌握的知识(来源网上。。)
Java就业指导 2016-03-22 骆昊 程序人生 点击上方"程序人生"关注我们 想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些 ...
- 作为一名JAVA程序员应该有怎样的就业思维
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格JAVA软件工程师所要具备的. 一.专业技能 1.熟 ...
- Java面试指导
Java面试指导 想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊 ...
- Java简历与面试
尊重原创:http://blog.csdn.net/love_java_cc/article/details/78292347 Java就业指导 想要成为合格的Java程序员或工程师到底需要具备哪 ...
- [ Java学习基础 ] Java的继承与多态
看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...
随机推荐
- 牛客网 python 求解立方根
•计算一个数字的立方根,不使用库函数 详细描述: •接口说明 原型: public static double getCubeRoot(double input) 输入:double 待求解参数 返回 ...
- 【进阶3-2期】JavaScript深入之重新认识箭头函数的this(转)
这是我在公众号(高级前端进阶)看到的文章,现在做笔记 https://github.com/yygmind/blog/issues/21 上篇文章详细的分析了各种this的情况,看过之后对this的概 ...
- window 上安装 Scala
第一步:Java 设置 检测方法前文已说明,这里不再描述. 如果还为安装,可以参考我们的Java 开发环境配置. 接下来,我们可以从 Scala 官网地址 http://www.scala-lang. ...
- day06 数字类型,字符串类型,列表类型
一:整型int# ======================================基本使用======================================# 1.用途:记录年龄 ...
- py4j汉语转拼音多音字处理
先看下效果 一 .布局 <!-- 上面的搜索框 --> <com.example.editablealphalist.widgget.ClearEditText android:id ...
- php可变数量的参数
PHP 在用户自定义函数中支持可变数量的参数列表.在 PHP 5.6 及以上的版本中,由 ... 语法实现:在 PHP 5.5 及更早版本中,使用函数 func_num_args(),func_get ...
- java函数式编程之Supplier
原创 2016年12月25日 10:02:52 标签: 函数式编程 / java 3250 描述:Supplier< T>接口没有入参,返回一个T类型的对象,类似工厂方法. 源码: pub ...
- ubuntu安装界面 会出现不完整情况
解决方法: alt+鼠标左键或者win+鼠标左键拖动
- asp.net core 验证码方案
/// <summary> /// 图片验证码 /// </summary> public class VerificationCodeServices { /// <s ...
- 集腋成裘-01 sublime常用的快捷键
sublime使用的快捷键 1:Html 结构代码 : Html:xt + tab键 2:补全标签代码 : tab键 3:快速复制一行代码 : Ctrl+shift+d 4:快速选中一行代码 : ...