【设计模式】1-5:工厂模式、策略模式、单一职责原则、开放封闭原则、依赖倒转原则
一、工厂模式
调用函数,传入字符串参数
接口中,根据字符串参数进行switch判断【测试类中】,执行指定的构造函数/对应的类【接口-实现类】
对应类中实现接口,在接口中可以返回对应的实现类【功能类】
只需要添加子类,无需修改原有的类
例子:日志记录器、选择不同数据库访问
二、策略模式
类的行为或其算法可以在运行时更改-行为型模式
组成:接口、对应的实现类、Context类、测试类中调用Context类,传递实现类
定义算法家族,将对应类作为参数传递,在Context 类中传递接口名参数
避免了工厂模式中很长的if else语句
例子:旅行的出游方式、计算器、活动的不同策略
三、单一职责原则
一个类实现一个职责
一个类的职责过多,可能会影响职责的能力
四、开放封闭原则
软件实体可以扩展,但不可以修改
对程序变更是通过新增完成,而不是修改原来的代码
优势:可复用、抽象常用的类或方法,但不能滥用
五、依赖倒转原则:是面向对象的设计的标志
程序要依赖于抽象接口,不要依赖于具体实现
要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合
里氏代换原则:把父类替换为子类,程序不会发生变化
本文来自博客园,作者:哥们要飞,转载请注明原文链接:https://www.cnblogs.com/liujinhui/p/15785623.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix