栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java - 设计模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java - 设计模式

                      文章摘要
  • 前言
  • 一、第一部分:创建型
    • 一、工厂模式
      •  1、工厂模式简介
      •  2、简单工厂
      •  2、开发中的使用
  • 总结


前言


   历过了大量的实践,这些前人的设计数据、经验。被一位工程师 整理、总结归纳了出来。并写了一本建筑“模式语言”的书籍。
   同理,在软件领域,也需要前人的设计数据、经验。于是,也就出现了一本书“Design Patterns”。 设计模式(Design Patterns) 的来源就出自该书。
   设计模式 好处 多多:
    ◆ 是前辈总结的设计经验
    ◆ 让代码更容易理解、更容易维护
    ◆ 通过设计模式可以让代码更加稳定更适合工业化的发展
   设计模式根据 其目的 可分为:
    ①创建型 (Creational)
    ②结构型(Structural)
    ③行为型(Behavioral)


一、第一部分:创建型 一、工厂模式  1、工厂模式简介

   工厂模式用于隐藏创建对象的细节
   ◆ 一、工厂模式模式 细分
    ①、简单工厂
    ②、工厂方法
    ③、抽象工厂
   ◆ 二、、工厂模式核心: 工厂类 (Factory)

 2、简单工厂

   什么是简单工厂?

   同理在软件中 也会有类似 “买房” 这种相同的问题。

最简洁快速的代码演示 => 场景:去宠物店买个鹦鹉。该怎么挑选公、母呢?不会区分

   造个宠物接口 因为你买的最终是个 宠物嘛
public interface ChongWu {
// 一个宠物 可定有 一个性别的属性 (鳗鱼什么的除外)
    public String show();
}

	以下是所有 宠物:
	
public class YingWu1 implements ChongWu{
    @Override
    public String show() {
        return "鹦鹉1,我是男生";
    }
} 
public class YingWu2 implements ChongWu{
    @Override
    public String show() {
        return "鹦鹉2,我是女生";
    }
}
public class NotFind implements ChongWu{
    @Override
    public String show() {
        return "没有该性别的";
    }
}

	给商店 添加个 销售员
	
public class XiaoShou {
	//这个方法 返回的是个接口
    public ChongWu ShaiXuan(String str) { 
        ChongWu chongWu = null;
        if (str.equals("公鹦鹉")){
            return  new YingWu1();
        }else if (str.equals("母鹦鹉")){
            return new YingWu2();
        }else {
            return new NotFind();
        }
    }
}

	来顾客了 
	顾客 跟销售讲 要一条:公鹦鹉

public class GuKe {
    public static void main(String[] args) {
        XiaoShou xiaoShou = new XiaoShou();
        ChongWu chongWu = xiaoShou.ShaiXuan("公鹦鹉");
        String show = chongwu.show()
    }
}
......控制台就会输出 :鹦鹉1,我是男生

   ◆ 简单工厂 => 根据用户不同的需要,返回不同的类。类的创建过程 使用者 不需要关心。
   ◆作为上面的 销售员 就是充当了工厂的角色

   如果 我的 同事给了我很多的类 其中还有一个 工厂类。那么在我使用这些 类 的时候,我不需要对每个 类都了解。我直接使用 工厂类!!! 需要什么功能类型的类,直接用工厂类去调。

 2、开发中的使用

    典型案例:  APP中 语言的切换 中文版/英文版/…等。针对于不同的地区有不同的语言。让用户体验更好。


总结

  设计模式有很多,目前先写工厂模式。后续慢慢增加。码字不易,如果对您有所帮助不妨点个赞赞吧~

       我爱你 ~  我这一生有过两次重要的抉择,一次是高考,一次是送你回家的时候先迈哪只脚。


                     愿: 宇宙的尽头没有 设计模式。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/945038.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号