首页 > 编程语言 >Java--设计模式

Java--设计模式

时间:2024-09-09 14:03:33浏览次数:11  
标签:Java -- Pattern 模式 工厂 接口 单例 设计模式

目录

23种设计模式

创建型模式

工厂模式(Factory Pattern)
抽象工厂模式(Abstract Factory Pattern)
单例模式(Singleton Pattern)
建造者模式(Builder Pattern)
原型模式(Prototype Pattern)

结构型模式

适配器模式(Adapter Pattern)
桥接模式(Bridge Pattern)
过滤器模式(Filter Pattern)
组合模式(Composite Pattern)
装饰器模式(Decorator Pattern)
外观模式(Facade Pattern)
代理模式(Proxy Pattern)

行为型模式

责任链模式(Chain of Respons
命令模式(Command pattern)
解释器模式(Interpreter Patter
迭代器模式(lterator Pattern)
中介者模式(Mediator Pattern
备忘录模式(Memento Patter!
观察者模式(0bserver Pattern
状态模式(State pattern)
策略模式(Strategy Pattern)
漠板模式(Template Pattern)
访问者模式(Visitor Pattern)

设计模式的本质

面向对象设计原则

要真正理解设计模式就需要透彻理解面向对象设计原则和面向对象三大特性(封装继承、多态)

面向对象编程技术

设计模式的本质是面向对象编程技术的熟练和灵活运用

单例模式

单例模式是一种创建型模式,它确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。单例模式通常用于管理共享资源,如数据库连接。

工厂模式

定义

工厂模式是一种创建对象的设计模式,它提供了一种创建对象的接口,使得客户端无需知道具体的创建细节,只需通过该接口就能获取所需的对象

解耦(对象使用过程+对象创建过程)

将对象的创建过程与使用过程分离使得两者之间的耦合度降低,提高了系统的灵活性和可维护性

分类

工厂模式有多种变体,如简单工厂模式、工厂方法模式和抽象工厂模式等,每种变体都有其适用的场景和特点(在实际应用中,需要根据具体的需求选择合适的工厂模式)

简单工厂模式

代理模式

代理模式是一种结构型模式,它为其他对象提供一个代理或占位符,以控制对这个对象的访问。代理模式可以在不改变对象的代码的情况下,为对象添加额外的功能

适配器模式

适配器模式是一种结构型模式,它允许不兼容的接口之间的合作,通过将一个类的接口转换成客户端期望的另一个接口

外观模式

外观模式是一种结构型模式,它为子系统中的一组接口提供一个统一的高层接口。外观模式定义了一个高层接口,使得子系统更容易使用

策略模式

策略模式是一种行为型模式,它定义了一系列算法,并将每个算法封装起来,使它们可以互换。策略模式允许在运行时选择算法

标签:Java,--,Pattern,模式,工厂,接口,单例,设计模式
From: https://www.cnblogs.com/yangcurry/p/18404421

相关文章

  • SciTech-Mathmatics-Probability+Statistics-Population-Sampling of Region of Popul
    SciTech-Mathmatics-Probability+Statistics-Population-Sample:SampleProportionvs.SampleMean:TheDifferenceSampleProportionvs.SampleMean:TheDifferenceBYZACHBOBBITTPOSTEDONMAY5,2021TwotermsthatareoftenusedinstatisticsareSamplePr......
  • 程序安装:不会安装该公布程序,因为它可能不安全,请与管理员联系解决办法
    程序安装:不会安装该公布程序,因为它可能不安全,请与管理员联系解决办法删除注册表中Products下的项。该方法确实能解决问题,但为防止误删其他软件注册信息,将此法作如下改进,发现依然好使:将注册表中HKEY_CURRENT_USER\Software\Microsoft\Installer\Products下的所有子项全......
  • CheckNetIsolation介绍
    CheckNetIsolation是Windows操作系统中的一个命令行工具,用于管理UWP应用(UniversalWindowsPlatform,通用Windows平台应用)的网络隔离设置。该工具主要用于配置应用程序是否允许访问本地网络资源(如本地回环地址127.0.0.1),并排查与网络相关的问题。UWP应用由于其安全架构,默认......
  • 解锁高效驱动密码:SiLM8260A系列SiLM8260ABCS-DG 集成米勒钳位的双通道隔离驱动芯片
    附上SiLM8260A同系列型号参考:SiLM8260ADCS-DG 12.5V/11.5VSiLM8260ABCS-DG 8.5V/7.5VSiLM8260AACS-DG 5.5V/5VSiLM8260AGCS-DG 3.5V/3VSiLM8260ABCS-DG是一款集成了米勒钳位功能的双通道隔离驱动芯片,它精准地满足了上述严苛条件。具备10A的拉电流和灌电流能......
  • 工业以太网无线网桥
    设备简介    本产品是工业以太网(Profinet、EtherNet/IP、ModbusTCP等)转无线设备,一个AP最多可以配8个STA,AP和STA以及STA和STA之间可以互相通讯,用户使用之前需要进行手动配对。    本产品适用于用户布线不方便的场景。......
  • 系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践
    本章知识考点:        第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆......
  • C++ 多线程代码性能分析——Oracle Developer Studio工具教程
        最近写项目的时候,为了提升性能,把原来一些单线程的代码改成了并行运行。这里我用到的用于评估性能提升效果的工具是OracleDeveloperStudio,不过刚上手时,发现网上相关的教程和博客较少,有些功能的使用也是摸索着过来的,这一过程可谓是十分痛苦了……如今距离初次接触......
  • 再有人问你什么是分库分表,直接把这篇文章发给他
    目录标题分库、分表、分库分表什么时候分库?什么时候分表?什么时候既分库又分表?横向拆分和纵向拆分分表字段的选择买家还是卖家?卖家查询怎么办?按照订单查询怎么办?分表算法直接取模Hash取模一致性Hash全局ID的生成UUID基于某个单表做自增主键基于多个单表+步长做自增主键......
  • GIS大事件!Bentley收购Cesium
    9月6日,Cesium官方宣布加入Bentley。Bentley我们并不陌生。最初Acute3D被Bentley公司收购,旗下软件由Smart3DCapture转型到ContextCapture,现又改名iTwinCapture。如今又收购了Cesium。Cesium官方表示,Cesium开发平台与iTwin的结合将为自然和建筑环境数字孪生的构建提供了完......
  • 爬虫使用代理时判断IP是否使用成功
    在近期的爬虫操作中,为了规避因同一IP频繁访问而导致的网站封禁,决定引入IP代理池机制,通过代理动态轮换以降低单一IP的访问频率。然而,面临的一个技术问题是:如何有效验证IP代理切换的成功性?查找资料发现一个网站:https://ip.smartproxy.com/json 可以发现打开就会显示当前IP。......