
设计模式
文章平均质量分 78
狂奔的蜗牛Evan
hello world
展开
-
极简设计模式 - UML类图几种线条
设计模式系列目录中间先夹一篇类图的基本点吧,与人方便自己方便。用CSDN的markdown画了下类图,发现预览和实际不一样。于是放弃它,准备借UML工具画几个比现在更能传神的图,用什么画图不重要,领悟到设计图意思,设计出符合自己需求的实体才是最重要的。后边会花时间把之前的markdown类图改为第三方工具画图再以图片形式粘到对应文章内。下边结合UML图示例,介绍几个线条表示的关系:组合、聚合、关联、依赖、实现、继承(泛化)。前4种都是表达类于类之间的持有或者说使用关系。转载 2023-08-04 23:34:33 · 1327 阅读 · 0 评论 -
什么是泛型?
什么是泛型?一、泛型的概念泛型是 Java SE5 出现的新特性,泛型的本质是类型参数化或参数化类型,在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型。二、泛型的意义一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。Java 在引入泛型之前,表示可变对象,通常使用 Object 来实现,但是在进行类型强制转换时存在安全风险。有了泛型后: 编译期间确定类型,保证类型安全转载 2020-11-23 23:17:42 · 19454 阅读 · 1 评论 -
Mybatis源码中使用的9种设计模式总结
导读相信大家都知道有26种设计模式,很多人都熟知多种设计模式概念.如果我们理解的不透彻,在实际开发中,很难做到学以致用.Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的运用,能够帮助我们更深入的理解设计模式,希望给大家带来一些启发.Mybatis源码中运用的设计模式:Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuil...转载 2020-07-09 18:49:46 · 434 阅读 · 1 评论 -
如何学习设计模式
如何学习设计模式? 可以跟着书籍或大牛博客来学习。1、推荐书籍:《Head First Design Patterns》(中文版:《Head First 设计模式》)、《Java与模式》;2、另外我比较推荐的一种学习设计模式的方式是读别人博客:java_my_life,刘伟技术博客,chenssy的设计模式;java_my_lifehttps://www.cnblogs.com...原创 2019-12-27 10:40:26 · 205 阅读 · 0 评论 -
UML学习之类图
UML学习--类图 之前对UML有过系统的学习,但是一直没有以文字的形式总结下来。在接下来这几篇中,我就系统的总结一下吧!基本概念 类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。 UML类图中包含三个最基本的组件,分别是:类名,属性和方法。一个...转载 2019-12-18 17:02:39 · 315 阅读 · 0 评论 -
UML类图(上):类、继承和实现
面向对象设计对于一个程序员来说,在工作的开始阶段通常都是别人把东西设计好,你来做。伴随着个人的成长,这个过程将慢慢变成自己设计一部分功能来实现,自己实现。如果要自己设计,无论是给自己看,还是给别人看,势必要输出一些文档,清晰地整理出思路。关于文档,有些人会用文字,但是再多的文字在绝大多数人看来,都不会有一张图来得直白,本文就讲一讲使用UML图来进行面向对象的设计。面向对象设计主要就是使...转载 2019-12-20 16:16:07 · 1410 阅读 · 1 评论 -
UML类图(下):关联、聚合、组合、依赖
前言上一篇文章UML类图(上):类、继承、实现,讲了UML类图中类、继承、实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联、聚合、组合、依赖,下面开始文章的内容。关联关系关联(Assocition)关系是类与类之间最常见的一种关系,它是一种结构化的关系,表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生...转载 2019-12-20 16:17:06 · 933 阅读 · 1 评论 -
UML各种图总结-精华
UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。想要知道UML更多内容的朋友,可以点击以下课程学习相关知识: https://edu.csdn.net/course/play/24752/280547一、基本概念 ...转载 2019-12-25 11:39:15 · 232 阅读 · 0 评论 -
UML建模-用例图(Use Case Diagram)
用例图主要用来描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示这些元素之间的各种关系,如泛化、关联和依赖。它展示了一个外部用户能够观察到的系统功能模型图。【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。一、用例图所包含的的元素1.参与者(Actor)——与应用程序...转载 2019-12-25 11:57:34 · 749 阅读 · 0 评论 -
漫话:如何给女朋友解释什么是策略模式?
周末无事,窝在家里面看《权力的游戏第八季》,看的很是津津有味,虽然感觉有一点点要烂尾,但是我还是忍不住要去看到底谁可以坐上铁王座。女朋友在一旁点外卖,好像是在使用优惠的时候遇到了一点点小问题。策略策略,指的是可以实现目标的方案集合,在某些特定情况下,策略之间是可以相互替换的。比如我们在外卖平台上看到的这些优惠。满减、会员和红包等,每一个大项...转载 2019-12-02 16:20:58 · 214 阅读 · 0 评论 -
刚来的大神彻底干掉了代码中的if else...
对于业务开发来说,业务逻辑的复杂是必然的,随着业务发展,需求只会越来越复杂,为了考虑到各种各样的情况,代码中不可避免的会出现很多if-else。一旦代码中if-else过多,就会大大的影响其可读性和可维护性。首先可读性,不言而喻,过多的if-else代码和嵌套,会使阅读代码的人很难理解到底是什么意思。尤其是那些没有注释的代码。其次是可维护性,因为if-...转载 2019-12-02 15:51:35 · 376 阅读 · 1 评论 -
24种设计模式-工厂模式(3种)
工厂方法模式(Factory Method)工厂方法模式分为三种:1、普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图:举例如下:(我们举一个发送邮件和短信的例子)首先,创建二者的共同接口:publicinterfaceSender{publicvoidSend();}其次,创建实现类:publ...原创 2018-10-30 09:24:14 · 6159 阅读 · 2 评论 -
java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一
java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Java中的泛型方法、 java泛型详解1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,...转载 2019-08-13 19:25:10 · 191 阅读 · 0 评论 -
学习Java面向对象编程和设计模式最好的5本书
对于任何一个Java开发人员来说,必须学会面向对象的设计原则和各种设计模式的知识。但有一些关于面向对象设计原则、设计模式和最佳实践的书籍,只有少数几本书能做到真正在讲解这方面内容。设计原则和设计模式,设计原则是基础,设计模式是基于这个基础的最佳实践。首先应该学习面向对象的理论原则,然后学习设计模式,看看再来学习这些原则是如何被用来解决日常问题的。我收集了5本书的清单,用于...转载 2019-09-19 09:33:32 · 947 阅读 · 0 评论 -
一篇文章就彻底弄懂建造者模式(Builder Pattern)
背景当一个类的内部数据过于复杂的时候(通常是负责持有数据的类,比如Config、VO、PO、Entity...),要创建的话可能就需要了解这个类的内部结构,还有这些东西是怎么组织装配等一大坨乱七八糟的东西,这个时候就会增加学习成本而且会很混乱,这个时候就想啊想一种什么法子来管理一下这个类中的数据呢,怎么在创建的时候让它按部就班的来,并且代码可读性很好别让我看花了眼啊,我要的东西也能都很好设置...转载 2019-09-27 15:56:11 · 227 阅读 · 0 评论 -
设计模式(八)桥梁模式
一、写在前面之前有读者评论说,前边的文章开头理论性太强了,显得晦涩难懂,会把读者搞晕,谢谢这位读者,同时也希望其他的读者多提意见,帮助我改正提高博客,为了改进之前的问题,今天我们先用例子引入,然后再给出桥梁模式的相关概念。二、问题引入例子1:现需要提供大中小3种型号的画笔,能够绘制5种不同颜色,如果使用蜡笔,我们需要准备3*5=15支蜡笔,也就是说必须准备15个具体的蜡笔类。而如果...转载 2019-09-27 16:44:39 · 324 阅读 · 0 评论 -
23种设计模式之桥梁模式--典型的例子JDBC驱动器
桥梁模式的定义定义: 将抽象和实现解耦, 使得两者可以独立的变化通俗的说, 就是一个类调用另一个类中的方法, 需要一个桥梁, 通过聚合的关系调用其类图如下:其中角色说明如下:Abstraction 抽象化角色: 它的主要职责是定义出该角色的行为, 同时保存一个对实现化角色的引用, 一般是抽象类Implementor 实现化角色: 接口或抽象类, 定义角色必须的行为和属性...转载 2019-09-27 16:54:58 · 397 阅读 · 0 评论 -
简说设计模式——享元模式
一、什么是享元模式 说到享元模式,第一个想到的应该就是池技术了,String常量池、数据库连接池、缓冲池等等都是享元模式的应用,所以说享元模式是池技术的重要实现方式。 比如我们每次创建字符串对象时,都需要创建一个新的字符串对象的话,内存开销会很大,所以如果第一次创建了字符串对象“adam“,下次再创建相同的字符串”adam“时,只是把它的引用指向”adam“,这样就实现了”adam“字...转载 2019-09-29 10:31:18 · 129 阅读 · 0 评论 -
设计模式---代理模式
什么是代理模式? 代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。举个例子来说明:假如说我现在想买一辆二手车,虽然我可以自己去找车源,做质量检测等一系列的车辆过户流程,但是这确实太浪费我得时间和精力了。我只是想买一辆车而已为什么我还要额外做这么多事呢?于是我就通过中介公司来买车,他们来给我找车源,...转载 2019-09-29 10:59:27 · 153 阅读 · 0 评论 -
Java中的24种设计模式与7大原则
一、创建型模式1、抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2、生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示.3、工厂模式(factory method pat...原创 2018-10-31 09:01:34 · 887 阅读 · 0 评论