日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java 的23种设计模式 之单身狗和隔壁老王的故事

發布時間:2025/3/8 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 的23种设计模式 之单身狗和隔壁老王的故事 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

覺得代碼寫的別扭了,回頭翻翻java 的23種設計模式。
today,額,這么晚了,困了。就弄個最簡單的單例模式吧。

單例模式:俗稱單身狗

package singleton;

public class SingleTon {

private static final class SingleTonBuilder {

private static SingleTon singleTon = new SingleTon();

}

private SingleTon() {

}

public static SingleTon getInstance() {

return SingleTonBuilder.singleTon;

}

}

?
其實什么懶漢,餓漢,癡漢模式之類的都不用管,只要會這一種就夠了。?

跟singleton 很像的一個模式三single call 。
中文解釋就單調用,通俗的說就是只有某人才能使用某物。
給個場景,HumanWang, WangWife

老王,和老王老婆。
老王老婆有一項技術叫mkl,但是這項技術只能老王才能用,
?
先看老王:
?

package singlecall;

public class HumanWang {

????????//口號,是王妃么 ?石更么。。

private boolean shiGeng = false;

????? ??
????? ? //防止老王的兒子之類(子類重寫)冒充

public final boolean isShiGeng?() {

return shiGeng?;

}

????? ? //獲取王妃,

private WangWife getWangWife() {

WangWife vivian;

shiGeng?= true;//是王妃,石更了。

vivian = WangWife.getWangWife(this);

shiGeng?= false;//獲得王妃后其他的都不是了。車欠了。

return vivian;

}

public static void main(String[] args) {

HumanWang hw=new HumanWang();

WangWife vivian =hw.getWangWife();

vivian.mkl();

}

}?

在看老王老婆,俗稱王妃:

?
package singlecall;

public class WangWife {

????????? ?//身體是自己的,不能隨便給人看

private WangWife() {

}

????? ? //當然誰都能企圖獲取王妃的身體,不過王妃只給老王一個人,如果有人用修改字節碼方式強xx,
????? ? //這個只能報警了。

public static WangWife getWangWife(HumanWang hw) {

WangWife vivian;
????????????? ? //有沒有人?

if (hw == null) {

vivian = null;

} else {
????????????????????? ? //口號正確不正確 ,有沒有石更

if (hw.isShiGeng?()) {

vivian = new WangWife();

} else {

vivian = null;

}

}

return vivian;

}

????? ? //王妃的技術。

public void mkl() {

System.out.println("啪啪啪");

}

}

這樣就只有老王才能獲取王妃,然后王妃施展技術。
ps 后記:
不要說我代碼寫的污,咱用的是面向對象的思想。?



轉載于:https://my.oschina.net/lxy4java/blog/529681

總結

以上是生活随笔為你收集整理的java 的23种设计模式 之单身狗和隔壁老王的故事的全部內容,希望文章能夠幫你解決所遇到的問題。

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