![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
lijunpeng71
这个作者很懒,什么都没留下…
展开
-
设计模式--工厂模式
工厂模式Factory Design Pattern 工厂模式工厂模式分类:简单工厂模式工厂方法模式抽象工厂模式举例说明 :披萨生产和销售的项目:披萨的种类 GreekPizz、CheesePiz等披萨的制作过程有 prepare、bake、cut、box完成披萨店订购功能传统模式思路分析(类图)#mermaid-svg-UPV2kGlzdSWnqJEl .label{font-family:'trebuchet ms', verdana, arial;fo原创 2020-12-11 13:37:45 · 117 阅读 · 0 评论 -
设计模式--单例模式
单例模式基本介绍单例模式(Singleton Design Pattern)一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫做单例设计模式,简称单例模式。为什么要使用单例模式?实战案例一:处理访问资源冲突public class Logger{ //线程安全的 private FilteWriter writer; public Logger(){ File file=new File("/xxx");原创 2020-12-08 15:59:33 · 127 阅读 · 0 评论 -
设计模式--UML类图
UML类图用于描述类(对象)本身的组成和类(对象)之间的各种静态关系## 类之间的静态关系依赖类中用到了对方类的成员属性方法的返回类型方法中使用到泛化(继承)泛化关系就是继承关系如果A类继承了B类实现A类实现了接口B关联类与类之间的联系,它是依赖关系的特例关联具有导航性,即双向关联或单向关联关联具有多重性聚合聚合表示的是整体和部分的关系,整体与部分可以分开。聚合关系是关联关系的特例。组合也是整体与部分的原创 2020-12-01 17:17:49 · 132 阅读 · 0 评论 -
设计模式--七大原则--合成复用原则
合成复用原则Composite Reuse Principle(CRP)基本介绍原则是尽可能使用合成/聚合的方式,而不是使用继承为什么不推荐使用继承继承是面向对象的四大特性之一,用来表示类之间的is-a关系,可以解决代码复用的问题。虽然继承有诸多作用,单继承层次过深、过复杂,也会影响到代码的可维护性。在这种情况下,我们应该尽量少用,甚至不用继承。组合相比继承有哪些优势?继承主要有三个作用:表示is-a关系,支持多态性,代码复用。这三个作用都可以通过组合、接口、委托三个技术手段来达成组合合能原创 2020-12-01 16:03:54 · 140 阅读 · 0 评论 -
设计模式--七大原则--迪米特法则
迪米特法则Law of Demeter(LOD)The Least Knowledge Principle基本介绍Each unit should have only limited knowledge about other units: only units “closely” related to the current unit. Or: Each unit should only talk to its friends; Don`t talk to strangers.每个模块(uni原创 2020-11-30 14:15:29 · 146 阅读 · 0 评论 -
设计模式--七大原则-依赖反转原则
依赖反转原则提出问题依赖反转这个概念指的是"谁跟谁"的"什么依赖"被反转了?”反转“两个字该如何理解?"控制反转"和"依赖注入"这两个概念和依赖反转有什么区别和联系?如果你熟悉Java语言,那Spring框架中的IOC跟这些概念又有什么关系呢?控制反转(IOC)Inversion Of Control如何理解控制:指的是程序对执行流程的控制反转:指的是在没有使用框架之前,程序员自己控制整个程序的执行。在使用框架之后,整个程序的执行流程可以通过框架来控制。流程的控制权从程序员"反转"到了原创 2020-11-30 11:28:44 · 197 阅读 · 0 评论 -
设计模式--七大原则--接口隔离原则
接口隔离原则基本介绍Interface Segregation Principle(ISP)接口隔离原则Clients should not be forced to depend upon interfaces that they do not use客户端不应该请破依赖它不需要的接口如何理解"接口隔离原则"?如果把接口理解为一组接口集合,可以是某个微服务的接口,也可以是某个类库的接口等如果把接口理解为单个API接口或函数,部分调用者只需要函数中的部分功能,那我们就需要把函数拆分成粒度原创 2020-11-27 14:08:28 · 106 阅读 · 0 评论 -
设计模式–七大原则--里斯替换原则
里斯替换原则基本介绍Liskov Subsitution Principle (LSP) 里氏替换原则Functions that use pointers of references to base classes must be able to use object of derived classes without knowing it子类对象(object of subtype/derived class)能够替换程序(program)中父类对象(object of base/par原创 2020-11-27 11:10:37 · 323 阅读 · 0 评论 -
设计模式–七大原则--开闭原则
开闭原则基本介绍Open Closed Principle(OCP)软件实体(模块、类、方法等)应该“对扩展开发、对修改关闭”如何理解"对扩展开放,对修改关闭"?添加一个新的功能,应该是通过已有的代码基础上扩展代码(新增模块、类、方法、属性等)的方式来完成。需要注意两点:开闭原则并不是说完全杜绝修改,而是以最小的代价来完成新功能的开发同样的代码改动,在粗粒度下,可能被定义“修改”;在细粒度下,可能又被认定为”扩展“。修改代码就意味着违背开闭原则吗?类需要创建、组装、并且做一些初始化操作原创 2020-11-24 16:58:26 · 202 阅读 · 0 评论 -
00设计模式目录
设计模式目录设计模式–七大原则设计模式–单一职责原则原创 2020-11-18 15:24:52 · 145 阅读 · 2 评论 -
设计模式–七大原则--单一职责原则
1. 单一职责原则1.1 基本介绍 对类来说的,即一个类应该只负责一项职责。如果负责两个不同职责:职责1,职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A21.2 应用实例 以交通工具类为例class Vehicle{ public void run(String vehicle){ System.out.println(vehicle+" 在公路上运行...") }}public class SingleRe原创 2020-11-18 14:57:18 · 201 阅读 · 0 评论 -
设计模式--七大原则
第一章 设计模式七大原则1.1 设计模式的目的 编写软件过程中,程序员面临着来至 聚合性 ,内聚性 以及可维护性,可扩展行,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的代码重用性(即:相同功能的代码,不用多次编写)可读性(即:编码规范性,便于其他程序员的阅读和理解)可扩展性(即:当需要增加新的功能时,非常方便,称为可维护性)可靠性(即:当我们增加新的功能后,对原来的功能没有影响)使程序呈现高内聚,低耦合的特性分享金句:设计模式包含了面向对象的精髓,“懂了原创 2020-08-30 17:36:02 · 182 阅读 · 0 评论 -
观察者模式
观察者模式1.问题订阅报纸的基本流程首先按照自己的需要选择合适的报纸,具体的报刊杂志目录可以从邮局获取选择好后,就到邮局填写订阅单,同时缴纳所需的费用报社按照出报时间,通过邮局送到每个订阅者的手里员工忙里偷闲员工向前台汇报自己的QQ号前台把员工拉倒通知QQ群中老板到来的时候,前台在群中发送消息...原创 2019-03-12 11:34:10 · 178 阅读 · 0 评论