首页 > 其他分享 >设计模式究竟是什么

设计模式究竟是什么

时间:2022-09-04 20:37:35浏览次数:48  
标签:原则 什么 复用 接口 开闭 设计模式 可以 究竟

什么是设计模式?

设计模式是一套由前辈总结的代码设计经验,经过反复的实践,根据这套理论,大家可以写出易维护、易拓展、复用率高的代码,经常被面向对象语言的开发者使用。

Java的各种框架(Srping、Mybatis),包括JDK都能找到设计模式的影子,一个合格的程序员,还是需要掌握这些理论,并实践的。

设计模式的原则

开闭原则

对扩展开放,对修改关闭,即大家再实现新功能的时候,不推荐修改现有的类或者方法,尽可能的去新增,在Java中,可能就需要用到继承、接口实现等方式。

里氏替换原则

任何父类出现的地方,子类都可以把它替换掉,可以认为是开闭原则的补充,帮助实现开闭原则

依赖倒置原则

可以认为是开闭原则的基础,所谓的依赖倒置就是,依赖于接口编程,而不是依赖于具体的实现

接口隔离原则

各个接口之间,尽可能少的相互依赖,每个接口尽可能负责独立的功能,这样,可以实现高内聚、低耦合,间接的也可以提升代码复用率

迪米特原则

也叫做最少知道原则,一个类,应该尽量少的和其它类发生交互,可以使功能模块更加独立

合成复用原则

尽量使用合成/聚合的方式,而不是使用继承。

标签:原则,什么,复用,接口,开闭,设计模式,可以,究竟
From: https://www.cnblogs.com/vinson-zhang/p/16655953.html

相关文章

  • BIO、NIO、AIO 有什么区别?
    BIO:BlockIO同步阻塞式IO,就是我们平常使用的传统IO,它的特点是模式简单使用方便,并发处理能力低。NIO:NonIO同步非阻塞IO,是传统IO的升级,客户端和服务器端通过Chann......
  • 【问题】为什么 System.Timers.Timer 更改间隔时间后的第一次触发时间是设定时间的三
    【问题】为什么System.Timers.Timer更改间隔时间后的第一次触发时间是设定时间的三倍?独立观察员2022年9月4日在编写“Wifi固定器 [1]”程序时,按如下方式使......
  • 为什么一定要学习股票投资知识
    从大的环境来说,为了避免银行的坏账。顶层就设计直接扩大融资(将企业从银行的贷款转移到直接从股市二级市场融资)。所以股市就一定是一个长期走牛的行情。如果股市长期走熊就......
  • 什么是 CALayer 的 AnchorPoint?
    什么是CALayer的AnchorPoint?如果您想在该层上进行任何类型的几何变换,CALayer的AnchorPoint是一个重要的属性。读官方文档。根据Apple的说法:anchorPoint“定......
  • 为什么要在学习花哨的 JS 框架之前学习 Vanilla JavaScript?
    为什么要在学习花哨的JS框架之前学习VanillaJavaScript?这是DavidKopal的博客。在此博客中,您可以了解VanillaJS在您的职业生涯中的好处。他在博客中分享的文字......
  • 我学到了什么 创建我的第一个“大”网络项目
    我学到了什么创建我的第一个“大”网络项目昨天,我完成了我的第一个大型Web项目:一个单页SaaS网站。大,我的意思是我花了整整六天时间才完成。在宏伟的计划中并不长,但我......
  • ping命令显示的TTL是什么意思
    ping命令显示的TTL是什么意思_Jack2013tong的博客-CSDN博客_ping设置ttl https://blog.csdn.net/huwei2003/article/details/53113874如下ping的结果C:\>ping192.168......
  • Bun.sh 是什么?
    Bun.sh是什么?Bun是一个快速的一体化JavaScript运行时Bun是像Node或Deno一样的现代JavaScript运行时。它是从头开始构建的,专注于三个主要方面:快速开始(考虑......
  • 什么是编译器?
    什么是编译器?CompileErrors如果您曾经接触过编程或编码,那么您很可能听说过编译器。特别是当您尝试构建从GitHub获得的C/C++项目时,它们会出现丑陋的链接和编译器错......
  • 你今天为什么写代码?为什么,为什么,为什么,为什么?为您的工程项目构建完美的叙述。
    你今天为什么写代码?为什么,为什么,为什么,为什么?为您的工程项目构建完美的叙述。你今天写代码了吗?修复了一些错误,防止了未来的中断,清理了死代码,或者为sprint完成了新功能。......