首页 > 编程语言 >Java设计模式简介(总结)

Java设计模式简介(总结)

时间:2023-05-12 16:11:59浏览次数:29  
标签:设计模式 Java 原则 简介 接口 父类

Java设计模式简介(总结)

什么是设计模式

Java设计模式是一组经过验证的解决特定问题的编程技术,这些技术可以帮助开发人员快速、有效地开发高质量的软件。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

设计模式分类

设计模式一般分为三大类:创建型、结构型、行为型,具体分类如下图:

设计模式分类

设计模式七大原则

  1. 开放-封闭原则: 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。模块应该尽量在不修改原代码的情况下进行扩展。

  2. 单一职责原则:每个类只负责自己的事情,而不是变成万能。

  3. 依赖倒转原则:依赖倒转原则是程序要依赖于抽象接口,不要依赖于具体实现。(方法定义的参数采用的都是接口类型而不是实现类的具体数据类型,这样可以提高方法的扩展性)。

  4. 迪米特法则(也称为最小知识原则):一个对象应该对其他对象保持最少的了解(高内聚,低耦合)。

  5. 接口隔离原则:各个类建立自己的专用接口,而不是万能接口。

  6. 合成复用原则:原则是尽量使用合成/聚合的方式,而不是使用继承。

  7. 里氏代换原则:继承父类而不是改变父类(使用父类的已定义方法,不是在父类上进行方法的修改,而是继承于父类扩展方法)。

补充说明

后续会依次更新 详解java 23种设计模式,欢迎关注、交流、补充相关内容(如下)。

标签:设计模式,Java,原则,简介,接口,父类
From: https://www.cnblogs.com/physicx/p/17394498.html

相关文章

  • java 的 JDK JRE , android 的 SDK NDK , native c++ 的概念
       ......
  • Ohm:用 JavaScript 创造你的编程语言
    导读解析器是一种超级有用的软件库。从概念上简单的说,它们的实现很有挑战性,并且在计算机科学中经常被认为是黑魔法。在这个系列的博文中,我会向你们展示为什么你不需要成为哈利波特就能够精通解析器这种魔法。但是为了以防万一带上你的魔杖吧!我们将探索一种叫做Ohm的新的......
  • google-java-format 插件
    GoogleJavaStyleGuidegoogle-java-formatgoogle-java-format插件可用于重新格式化Java源代码,。启用后,它将替换通常的ReformatCode操作。该操作可以通过Code->ReformatCode触发,也可以使用Ctrl+Alt+L触发。IDEA中使用google-java-format插件在File->Settings->Pl......
  • 【转】JavaScript 执行上下文——JS 的幕后工作原理
    转自译文:JavaScript执行上下文——JS的幕后工作原理。译文中图片不显示,要结合原文看,看着不方便。整理了一份含图片的。所以有了此篇的转载,以方便阅读。以下是正文:原文:JavaScriptExecutionContext–HowJSWorksBehindTheScenes,作者:VictorIkechukwu所有JavaScript代......
  • 关于java中execl导入和导出的问题
    前言:最近没有更新,懈怠了。前两天刚写了一个execl导出的需求,过来总结一下这方面的内容大概在很久很久以前,微软的电子表格软件Excel以操作简单、存储数据直观方便,还支持打印报表,在诞生之初,可谓深得办公室里的白领青睐,极大的提升了工作的效率,不久之后,便成了办公室里的必备工具。随......
  • Java使用Font字体的方法
    Java使用Font字体有两种方式:1.直接使用系统已经安装的字体。Fontfont=newFont("SourceHanSerifSC",Font.PLAIN,18); 2.使用流读取外部字体资源,然后创建字体。InputStreamfontInputStream=ResourceUtil.getStream("font/SourceHanSerifSC.ttf");Fontfont......
  • 客户端javascript对象的几何属性(获得大小及坐标)
    在一些客户端javascript对象中,存在着如宽度、高度、坐标类的几何属性,同时这些属性在不同的浏览器下又有不同的属性名。现在将所有的此类对象的几何属性汇总,便于学习,免得搞混。1.浏览器窗口在桌面的坐标(x,y)Window      IE下:window.screenLeft,window.screenTo......
  • java爬虫如何使用代理
    在Java程序中使用代理是爬取网站数据的常见技术之一。代理服务器允许你通过它来访问某个网站,从而让你可以隐藏自己的真实IP地址或者规避一些地理限制等问题。本文章将介绍如何使用Java实现网络爬虫代理。我们首先将介绍Java提供的代理相关类和方法,然后是如何编写代码实现代理网络......
  • 【Spring 事务】【一】 Spring 事务简介
    1 前言本节我们开始来看看Spring事务哈,大家看之前首先要看过IOC、AOP、甚至代理哈,如果这些你不知道原理,你看任何东西都会很费劲,比如Bean的生命周期、AOP的切入时机、什么时候创建代理以及执行时机,这些不知道的话,你就看事务的话,会很懵,当然前提是大家是带着思考看的哈,单纯看不......
  • java:常用工具类库
    最近一直在减少造轮子的做法,简单总结了一下各个工具类库:排名不分先后,链接的地址为自己找了几个比较合适的例子,供参考。 1、ApacheCommonApacheCommons是对JDK的拓展,包含了很多开源的工具,用于解决经常会遇到的问题,减少重复工作。 2、GoogleGuava Guava工程包含了若干......