23种设计模式

23种设计模式
软件工程的基本概念
软件工程三要素, 方法 ,工具,过程!
软件的生命周期------1
可行性分析阶段
需求分析阶段
项目和产品的区别
项目是面向客户的需求的 有明确的需求
产品是面向大众的,无明确的需求
软件的生命周期----2
系统设计阶段
系统实现阶段
软件的生命周期----3
测试阶段
维护阶段
改正性维护
适应性维护
完善性维护
预防性维护
统一建模语言 UML语言 设计人员专用
IBM公司统一了建模语言
关联关系
has a 拥有 被称为聚合关系 组合的类 可分离
contains a 组合关系 组合的类不可分离
use a


设计模式(套路)与语法无关
模式 分类

A架构模式(宏观的概念 )

B设计模式(微观的概念)
B-1创建模式
涉及到对象的创建,包括 B-1单例模式 * , B-2工厂模式 * ,B-3创造者模式 ,B-4原型模式 *
单例模式:singleton
B-1-1懒汉模式
他是一种预加载的实现。不管代码中有没有用到getsingleton方法都会被产生但是它的线程绝对安全 因为 sin在虚拟机加载的时候就被产生了
经典案例 设计一个类只能产生一个对象的类
1 将它的构造方法访问修饰符设置为私有的; 方法名为 singleton
2设置静态私有属性 private static singleton sin=new singleton(); 全类共享一个值
3设置 静态方法 并且返回 sin对象 ; public static singleton getsigleton(){
return sin;
}
4外部调用 singleton s=singleton.getsigleton();

B-1-2饿汉模式
特点: 延迟加载实现,只有在真正需要Singleton对象的时候才产生
2不加同步锁,线程不安全:加同步锁,效率低



B-1-3单例模式 双锁机制 既支持延迟加载又支持高并发!
前提 jdk1.8之前这样写也没用



B-2工厂模式 集中创建实例对象
工厂模式的好处
B-2-1简单工厂模式


B-2-2工厂方法模式


B-2-3抽象工厂 多个工厂方法一起够着抽象工厂模式。




B-4原型模式 创建一个和已经存在的对象一模一样的新对象
浅克隆 例如 A类中 有b类的属性
如果克隆 a aaa=new a()
b=a.clone()






B-2结构模式
涉及到类和对象的组合
B-2-1Facade外观模式,B-2-2代理模式,B-2-3适配器模式,B-2-4装饰器模式(最复杂)
B-4-4
桥梁模式 利用聚合组合模式

代理模式(proxy)






B-3行为模式
刻画了类和对象交换及分配职责的方式,主要目标是解耦

观察者模式

















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值