![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
kyoshii
爱coding,爱生活
展开
-
单例模式
JS和Java的单例模式设计模式是一个必须要掌握的内容,就好像武学的固定招式一样,设计模式在使用中都有一些固定的套路,掌握好套路才能少走弯路。这一篇介绍一下简单但是使用频率比较高的单例模式javascript单例模式由于js是单线程的,不需要考虑多线程的单例实现情况,比较简单。我们可以通过闭包实现js的单例。详细代码如下class Singleton { constructor(...原创 2019-01-31 14:43:14 · 100 阅读 · 0 评论 -
工厂三兄弟设计模式
工厂模式工厂模式一般是负责创建对象的设计过程,在设计中可以分为三个子设计模式简单工厂模式工厂方法模式抽象工厂模式简单工厂模式简单工厂用的比较多,如果不使用简单工厂的话,客户端的依赖往往会比较多,比如创建汽车对象,可能会创建很多的汽车,UML图如下这里可以使用简单工厂来简化创建对象步骤,减少客户端对类的依赖,降低耦合。我们新建一个CarFactory类来创建不同的Car。...原创 2019-02-01 14:52:45 · 345 阅读 · 0 评论 -
原型模式,深浅拷贝
原型模式原型模式是一个比较简单的创建模式,在java中当需要创建大量对象的时候,为了提升效率和性能,我们可以使用原型模式原型模式一般和工厂模式配合使用,用来创建对象下面介绍java的原型模式实现过程Java的Object类中具有clone方法,这表示任何对象都可以实现克隆,如下所示package com.natsuki;import java.util.Date;/** * ...原创 2019-02-03 18:15:27 · 164 阅读 · 0 评论 -
代理模式
代理模式代理模式是一个很重要的模式,在平时使用和框架设计上用的比较多。在Spring中AOP面向切片编程就使用了代理模式。代理模式替代了真实对象的直接访问,我们可以在代理方法中做一些增强和补充。代理模式的使用场景分为安全代理,屏蔽对真实角色的直接访问远程代理,通过代理类处理远程方法调用延迟加载,先加载代理对象,然后按需加载真实对象java代理模式的实现java代理模式分为...原创 2019-02-05 19:27:02 · 134 阅读 · 0 评论 -
Java8新特性结合策略模式实现复杂条件判断
借助策略模式实现复杂条件判断逻辑策略模式实际命题一般解决方法策略模式解决方法扩展策略模式在23种设计模式当中,策略模式也是一个十分常用的模式。也许在写业务逻辑的过程中,我们可能需要根据不同的条件写一大堆的if和else条件语句,这直接造成的影响是可扩展性很差并且可读性也很差。而借助策略模式,我们可以写出扩展性很好的优雅代码。实际命题假如我们有这样一个需求,在设计商户打折系统中,要针对不同的...原创 2019-05-08 22:02:44 · 4722 阅读 · 0 评论 -
代码之禅
在写代码和维护项目的时候,如果没有一个很好的代码编写习惯,很容易会写出各种诡异bug,维护也异常困难。本篇博客总结了我自己在写代码的心得,关键是通过设计和测试大幅度降低bug。持续更新中。。。设计篇原则1 单一职责这应该是最重要的原则了,不管是方法还是类,只做尽可能少的事情,比如:@Data@RequiredArgsConstructor@AllArgsConstructorp...原创 2019-09-05 15:31:28 · 331 阅读 · 0 评论