软件设计模式学习1

面向对象语言的三大特征:继承封装多态

软件设计模式的概念

软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。

这是来自百度百科的概念 我们通过学习软件设计模式可以给我们带来啥呢?
  1. 提高我们的思维能力,编程能力和设计能力
  2. 是程序设计更加标准化,代码编制更加工程化,是软件开发效率大大提高,从而缩短软件的开发周期
  3. 式设计的代码可重用性高、让代码更容易被他人理解、保证代码可靠性、程序的重用性。

软件设计模式的基本要素

  1. 模式名称
  2. 问题
  3. 解决方案
  4. 效果

GoF的23种设计模式

这里我们先不将太深,只作为一个引子!!!
在后面的文章中我们将尽享深入的讲解
设计模式的两种分类方法
根据目的
创建型模式:用于描述怎样创建对象
结构型模式:用于面熟如何将类或对象按某种布局构成更大的结构
行为型模式:描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,以及分配职责。
根据作用范围
类模式
主要用于处理类与子类之间的关系。
对象模式
用于处理对象之间的关系

范围\目的创建型模式结构型模式行为型模式
类模式工厂方法(类) 适配器模板方法,解释器
对象模式单例
原型
抽象工厂
创建者
代理
(对象)适配器
桥接
装饰
外观
享元
组合
策略
命令
职责链
状态
观察者
中介者
迭代器
访问者
备忘录

此次博客的重点

UML类图
类 接口 类图


  1. 定义:具有相同属性,方法和关系的对象的抽象。类与对象之间的关系,类是对象的抽象化,对象是类的实例化。类封装了数据和行为,是面向对象的基础。
    在UML类图中表示方法为
    Java中权限修饰符可以分为四种:private public protected friendly。他们在类图中分别表示为 - + # ~
    类中属性在UML图中表示为:[权限符] 属性名 :属性类型 [=默认值]
    行为表示方法:[权限符] 函数名(参数列表) [:返回类型]

在这里插入图片描述

  1. 接口:特殊的类,只有行为,但不可以实现,只能被其子类实现

在这里插入图片描述

  1. 类图用来显示系统中的类接口协作以及它们之间的静态结构和关系的一种静态模型。

在这里插入图片描述

我们已经知道了类图是如何画出来了,那么我们该怎么去用代码实现它呢 ,下面我们接着看类之间的关系

如图
在这里插入图片描述
在这里插入图片描述

接下来我们就分析一下图1.3的类图

Client为使用类,Graph为被依赖项
Rectangle和Circular实现了Graph中的方法
具体代码如下

public class Client {
    public void calculate(Graph tx){
        
    }
}

public class Circular implements Graph {
    private double radius;
    public double getArea(){
        return 3.1415926*this.radius*this.radius;
    }
public double getPerimeter(){
        return 2*3.1415926*this.radius;
}
}

public class Rectangle implements Graph {
    private double length;
    private double width;
    public double getArea(){
        return this.length*this.width;
    }
    public double getPerimeter(){
        return 4*(this.width+this.length);
    }


}

interface Graph {
    public double getArea();
    public double getPerimeter();
}

                                  欢迎进群交流
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值