日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

JAVA常用设计模式(一、单例模式、工厂模式)

發布時間:2025/3/15 asp.net 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA常用设计模式(一、单例模式、工厂模式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JAVA設計模式之單例模式

?

import java.util.HashMap; import java.util.Map;/*** 設計模式之單例模式* 單例模式(Singleton Pattern)是 Java 中最簡單的設計模式之一。這種類型的設計模式屬于創建型模式,它提供了一種創建對象的最佳方式。* 這種模式涉及到一個單一的類,該類負責創建自己的對象,同時確保只有單個對象被創建。這個類提供了一種訪問其唯一的對象的方式,可以直接訪問,* 不需要實例化該類的對象。* * 1.單例模式只能有一個實例* 2.單例必須自己創建自己的唯一實例* 3.單例必須給其他所有對象提供這一實例* * 主要解決:一個全局使用的類頻繁地創建與銷毀。* * 何時使用:當您想控制實例數目,節省系統資源的時候。* * @author dyq**/ public class DesignPatternSingleton {public static void main(String[] args) {SlackerSingletonObject slackerSingletonObject = SlackerSingletonObject.getInstance();HungrySingletonObject hungrySingletonObject = HungrySingletonObject.getInstance();EnumSingletonObject enumSingletonObject = EnumSingletonObject.INSTANCE;} } /*** 懶漢模式-單例模式* @author dyq**/ class SlackerSingletonObject{private static SlackerSingletonObject instance;private SlackerSingletonObject() {System.out.println("加載SlackerSingletonObject");}public static synchronized SlackerSingletonObject getInstance() {if(instance==null) {instance = new SlackerSingletonObject();}return instance;}public static Map<String,Object> getProFile(){Map<String,Object> map = new HashMap<String,Object>();map.put("jdbcDriver", "oracle");return map;} } /*** 餓漢模式-單例模式*/ class HungrySingletonObject{private static HungrySingletonObject instance = new HungrySingletonObject();private String name ;private HungrySingletonObject() {System.out.println("加載HungrySingletonObject");}public static HungrySingletonObject getInstance() {return instance;}public static Map<String,Object> getProFile(){Map<String,Object> map = new HashMap<String,Object>();map.put("jdbcDriver", "oracle");return map;} }/*** 枚舉--單例模式*/ enum EnumSingletonObject{INSTANCE;public static Map<String,Object> getProFile(){Map<String,Object> map = new HashMap<String,Object>();map.put("jdbcDriver", "oracle");return map;} }

JAVA設計模式之工廠模式

?

/*** 設計模式之工廠模式* 工廠模式(Factory Pattern)是 Java 中最常用的設計模式之一。這種類型的設計模式屬于創建型模式,它提供了一種創建對象的最佳方式。* 在工廠模式中,我們在創建對象時不會對客戶端暴露創建邏輯,并且是通過使用一個共同的接口來指向新創建的對象。* * 主要解決:主要解決接口選擇的問題。* 何時使用:我們明確地計劃不同條件下創建不同實例時。* 如何解決:讓其子類實現工廠接口,返回的也是一個抽象的產品。* 關鍵代碼:創建過程在其子類執行。* @author dyq**/ public class DesignPatternFactory {public static void main(String[] args) {ShapeFactory shapeFactory = new ShapeFactory();//獲取 Circle 的對象,并調用它的 draw 方法Shape shape1 = shapeFactory.getShape("CIRCLE");//調用 Circle 的 draw 方法 shape1.draw();//獲取 Rectangle 的對象,并調用它的 draw 方法Shape shape2 = shapeFactory.getShape("RECTANGLE");//調用 Rectangle 的 draw 方法 shape2.draw();//獲取 Square 的對象,并調用它的 draw 方法Shape shape3 = shapeFactory.getShape("SQUARE");//調用 Square 的 draw 方法 shape3.draw();} }interface Shape{public void draw(); }class Rectangle implements Shape{@Overridepublic void draw() {System.out.println("Inside Square::draw() method.");}} class Circle implements Shape{@Overridepublic void draw() {System.out.println("Inside Circle::draw() method.");} } class Square implements Shape {@Overridepublic void draw() {System.out.println("Inside Square::draw() method.");} } class ShapeFactory {public Shape getShape(String shapeType) {if(shapeType==null) {return null;}if(shapeType.equalsIgnoreCase("CIRCLE")) {return new Circle();}else if(shapeType.equalsIgnoreCase("RECTANGLE")) {return new Rectangle();}else {return new Square();}} }

?

轉載于:https://www.cnblogs.com/XiOrang/p/9355602.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的JAVA常用设计模式(一、单例模式、工厂模式)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。