设计模式个人总结(面试使用)

一,单例模式

1.使用场景和特点:

某类中只要求生产一个对象实例;当对象需要被共享的场合;某类需要频繁实例化

2.分类:

饿汉式:类创建的同时就创建好了一个静态的对象供系统使用,线程安全

懒汉式:当调用getInstance()方法时候才回去创建一个实例,加了锁。但性能低

二 ,工厂模式

1.定义一个用于创建对象的接口,通过传不同类型信息,让子类决定去实例化那个类。底层是所有工厂都是实现一个统一的接口。不需要了解创建过程,知道自己需要什么对象名称就能创建对应的东西。

 

工厂模式:主要功能就是帮助我们实例化对象,通过工厂代替new操作。

 

 

 

三,外观模式

1.定义一个外层大接口,里面处理每个业务的接口。提高安全性,灵活性

四,建造者模式

1.不用去new对象。通过工厂去创建需要的符合对象。这个类里面集成了很多功能,能够创建很多复杂的东西。

2.对比工厂模式:工厂是只针对一个特定的对象,特定的产品

五,代理模式

1.相当于代理商,我们买票可以去火车站也可以去代售点。

就是原有的方法需要修改适配新的需求,可以 用代理模式对这个方法结果修改已适应新需求。便于维护和更加清晰。底层不变,多了一层代理优化。

六,mvc模式

1.类似于model view controller

七,策略模式 https://mp.weixin.qq.com/s/eTg7pvOUyMW_EdU17qjhaQ

1.定义很多算法封装,加减乘除,用户更具需要自己去决定使用哪个。if--else优化可以使用;太多了才用组合模式。少用继承多用组合

八,组合模式

1.一个类中有很多属性,且包括这个类也是一个属性。然后创建可以有父子节点关系图。类似二叉树结构。层级分明。对象中有对象,然后对象中对象是子节点。

九、模板模式https://mp.weixin.qq.com/s/oHs8QeMl5ZKaJi6Ton8NWA

定义一个模板的父类骨架,父类包含很过基础的方法。子类可以扩展自己在不同方法中一些具体的步骤。缺点就是 ,如果父类需要添加一个基础的方法,子类也需要都修改。

十。观察者模式:在对象之间定义了一对多的依赖,当一个对象改变了状态,依赖他的对象会收到通知并自动更新

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值