设计模式之美

设计模式

  • 为什么写这篇文章

本人从事Java开发接近两年之久,从毕业到踏入职场得大门,准备用自己掌握得基础知识在职场创出一片天地,但理想很丰满,现实却很骨干(只能说被打击到家了,无限尬死),编码规范、整洁度、复用性无不在我得代码中丝毫未线(真的是菜到家了),但梦想岂能是这么容易就被磨灭的,从最初的揣摩大佬代码、跟读源码,由浅至深,始终加入了某种思想。。。
这里大家应该知道我要说什么了,没错,就是设计模式 这也是我一直在思考并且探究为什么要学设计模式?设计模式的优点是什么?

  • 提升查看源码的能力
  • 提升自己对复杂业务的逻辑的代码设计能力以及code能力
  • 对面试以及后面的职场道路打下扎实的基础

比如我最近刚做了一个统一登录的需求,因为采用oauth2.0标准认证协议,有四种授权方式,要是搁以前的话,估计上去就是咔咔五个if/else,这样不足的地方就是代码臃肿,另外加入又要加入新的个性化认证,岂不是又要手改代码,这无疑从code美观上还是开放性上都显的很不友好。还好,最近刚学了工厂模式和策略模式,呼啦啦,我可不管你有哪些类型,直接一个接口整上剩下的全是弟弟,这就是设计模式的好处,可以装Bi还可以造福后人。

正文

设计模式分为创建型、结构型和行为三种类型,我们首先从创建型入手,今天就以创建型中最常用的工厂模式展开。

工厂模式主要分为三大类:

  • 简单工厂模式
  • 工厂方法模式
  • 抽象工厂模式
简单工厂模式

工厂模式主要是用于对实现逻辑的封装,并且通过对公共的接口提供对象的实列化的服务,在我添加新的类时不需大动干戈,只需要修改一点点就好。

我们以电商平台创建商品为例:
请添加图片描述
在这个简单工厂里面,如果要创建活动商品1 以及活动商品2,我们要创建商品的时候只要调用简单工厂里面的创建商品方法,根据类型创建出不同的商品然后实列化返回就可以了。

简单工厂几种实现方式:

  • 静态工厂模式

我们还是以创建商品为例

package com.michstabe.designMode;
import java.math.BigDecimal;
import java.util.Objects;

/**
 * @author michstabe
 * @date 2022/4/21 14:16
 * @description
 */
public class ProductStaticFactory {
   
    public static Product getProduct(ProductTypeEnum type){
   
        if(Objects.equals(type, ProductTypeEnum.one)){
   
            return new Product("A",
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值