互联网面试之常用的设计模式

虽然感觉被面试官套路了(唉😔 伤心),但他说的也并没有多少错误,真操蛋。虚幻4先不看了,找工作要紧。
经验:在面试时不要说太多东西,不能太表现自己学习欲望很强,会被认为没有深度。
单例模式:
作用:保证一个类只有一个实例,并提供一个访问它的全局访问点,使得系统中只有唯一的一个对象实例。
应用:常用于管理资源,如日志、线程池
单例模式又分为懒汉模式和饿汉模式,简单得说就是懒汉是,创造对象时不实例化,需要的时候才实例化,饿汉是在创建对象时立即实例化,,懒汉时线程是不安全的,饿汉模式线程安全
工厂模式
工厂模式的主要作用是封装对象的创建,分离对象的创建和操作过程,用于批量管理对象的创建过程,便于程序的维护和扩展
主要分为简单工厂模式,工厂方法模式,抽象工厂模式
简单工厂模式:
主要特点是需要在工厂类中做判断,从而创造相应的产品,当增加新产品时,需要修改工厂类。根据实际需求实例化产品类
总结就是有一个抽象类,多个产品类,以及一个工厂类
在这里插入图片描述
工厂方法类
也就是定义一个抽象工厂,其定义了产品的生产接口,但不负责具体的产品,将生产任务交给不同的派生类工厂。这样不用通过指定类型来创建对象了。
一个抽象类,多个产品类,多个工厂类,每个工厂负责各自产品;
在这里插入图片描述
抽象工厂类
对于有不同抽象类的情况:
在这里插入图片描述
适配器模式:
优点:

提高了类的复用;
组合若干关联对象形成对外提供统一服务的接口;
扩展性、灵活性好。
缺点:
过多使用适配模式容易造成代码功能和逻辑意义的混淆。
部分语言对继承的限制,可能至多只能适配一个适配者类,而且目标类必须是抽象类。
该模式并不是在设计开发阶段考虑的,主要用在想要修改一个已经存在的接口,或者组合若干关联对象的时候。
1.想用一个已经存在的类,但其接口不符合需求;
2.想创建一个可以复用的类,该类可以与其他不相关的类协同工作;
3.想使用一些已经存在的子类,但是不能对每一个都进行子类化以匹配它们的接口(仅适用于对象Adapter)。对象适配器可以适配他的父类接口。
在这里插入图片描述
部分资料来自(https://www.cnblogs.com/yssjun/p/11102162.html,插图来自https://www.duitang.com/blog/?id=744110755)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值