画类图的标识
类图-依赖关系
只要在类中用到了对方,那么他们之间就存在依赖关。如果没有对方,连编译都通过不了。
- 类中用到了对方
- 如果是类的成员属性
- 如果是方法的返回类型
- 是方法接收的参数类型
- 方法中使用到
public class PersonServiceBean {
private PersonDao personDao;//类
public void save(Person person){
}
public IDCard getIDCard(Integer personid){
return null;
}
public void modify(){
Department department = new Department();
}
}
public class PersonDao {
}
public class Person {
}
public class Department {
}
public class IDCard {
}
类图–泛化关系
泛化关系实际上就是继承关系,他是依赖关系的特例
- 泛化关系实际上就是继承关系
- 如果A类继承了B类,我们就说A和B存在泛化关系
public class PersonServiceBean extends DaoSupport {
}
public abstract class DaoSupport {
public void save(Object entity){
}
public void delete(Object id){
}
}
类图–实现关系
实现关系实际上就是A类实现B类,他是依赖关系的特例
public interface PersonService {
public void delete(Integer id);
}
public class PersonServiceBean implements PersonService {
@Override
public void delete(Integer id) {
}
}
类图–关联关系
关联关系实际上就是类与类之间的关系,他是依赖关系的特例
关联关系具有导航性:即双向关系或单向关系
关系具有多重性:如1(表示有且仅有一个),“0…”(表示0个或多个),
“0,1”(表示0个或1个),“n…m”(表示n到m个都可以),“m…”(表示至少m个)
//单向一对一关系
public class Perosn{
private IDCard card;
}
public class IDCard()
//双向一对一关系
public class Person{
private IDCard card;
}
public class IDCard{
private Person person;
}
类图–聚合关系
聚合关系表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例,所以他具有关联的导航性与多重性。
如:一台电脑有键盘,显示器,鼠标等组成;组成电脑的各个配件是可以从电脑上分离出来的,使用待空心菱形的实现来表示;
//聚合关系
public class Computer{
private Mouse mouse;
private Monitor monitor;
public void setMouse(Mouse mouse){
this.mouse = mouse;
}
public void setMonitor(Monitor monitor){
this.monitor = monitor;
}
}
类图–组合关系
//组合关系
public class Computer{
private Mouse mouse = new Mouse();
private Monitor monitor = new Monitor();
public void setMouse(Mouse mouse){
this.mouse = mouse;
}
public void setMonitor(Monitor monitor){
this.monitor = monitor;
}
}
设计模式分为三种类型,共23种
- 创建型模式:单例模式,抽象工程模式,原型模式,建造者模式,工厂模式
- 结构型模式:适配器模式,桥接模式,装饰模式,组合模式外观模式,享元模式,代理模式
- 行为型模式:模板方法模式,命令模式,访问者模式,迭代模式,观察者模式,中介者模式,备忘录模式,解释器模式,状态模式,策略模式,职责链模式(责任链模式)。