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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

JAVA基础知识总结8(设计模式)

發布時間:2024/4/15 asp.net 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA基础知识总结8(设计模式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

設計模式:JAVA中有23種設計模式

  1.解決問題最行之有效的思想。

  2.是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。

  3.使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。

?

1.單例設計模式

  解決的問題:保證一個類在內存中的對象唯一性。

  比如:多程序讀取一個配置文件時,建議配置文件封裝成對象。會方便操作其中數據,又要保證多個程序讀到的是同一個配置文件對象,就需要該配置文件對象在內存中是唯一的。

?

Runtime()方法就是單例設計模式進行設計的。

?

如何保證對象唯一性呢?

  1,不讓其他程序創建該類對象。

  2,在本類中創建一個本類對象。

  3,對外提供方法,讓其他程序獲取這個對象。

?

步驟:

  1,因為創建對象都需要構造函數初始化,只要將本類中的構造函數私有化,其他程序就無法再創建該類對象;

  2,就在類中創建一個本類的對象;

  3,定義一個方法,返回該對象,讓其他程序可以通過方法就得到本類對象。(作用:可控)

?

代碼體現:

  1,私有化構造函數;

  2,創建私有并靜態的本類對象;

  3,定義公有并靜態的方法,返回該對象。

?

餓漢式:

  class Single{

    private Single(){} //私有化構造函數。

    private static Single s = new Single(); //創建私有并靜態的本類對象。

    public static Single getInstance(){ //定義公有并靜態的方法,返回該對象。

      return s;

    }

  }

?

懶漢式:延遲加載方式。

  class Single2{

    private Single2(){}

    private static Single2 s = null;

    public static Single2 getInstance(){

      if(s==null)

      s = new Single2();

      return s;

    }

  }

?

2.模板方法設計模式

  解決的問題:當功能內部一部分實現時確定,一部分實現是不確定的。這時可以把不確定的部分暴露出去,讓子類去實現。

  abstract class GetTime{

    public final?void getTime(){?//此功能如果不需要復寫,可加final限定

      long start = System.currentTimeMillis();

      code();?//不確定的功能部分,提取出來,通過抽象方法實現

    l  ong end = System.currentTimeMillis();

      System.out.println("毫秒是:"+(end-start));

    }

    public abstract?void code();?//抽象不確定的功能,讓子類復寫實現

  }

  class SubDemo extends GetTime{

    public void code(){?//子類復寫功能方法

      ...

    }

  }

  new?SubDemo.getTime():

?

轉載于:https://www.cnblogs.com/chenyongsai/p/9555247.html

總結

以上是生活随笔為你收集整理的JAVA基础知识总结8(设计模式)的全部內容,希望文章能夠幫你解決所遇到的問題。

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