第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

什么是靜態(tài)工廠方法?

什么是靜態(tài)工廠方法?

什么是靜態(tài)工廠方法?什么是“靜態(tài)工廠”方法?
查看完整描述

3 回答

?
慕婉清6462132

TA貢獻1804條經(jīng)驗 獲得超2個贊

我們避免直接訪問數(shù)據(jù)庫連接,因為它們是資源密集型的。所以我們使用靜態(tài)工廠方法getDbConnection如果我們低于極限,就會產(chǎn)生連接。否則,它試圖提供“備用”連接,如果沒有異常,則失敗。

public class DbConnection{
   private static final int MAX_CONNS = 100;
   private static int totalConnections = 0;

   private static Set<DbConnection> availableConnections = new HashSet<DbConnection>();

   private DbConnection(){
     // ...
     totalConnections++;
   }

   public static DbConnection getDbConnection(){

     if(totalConnections < MAX_CONNS){
       return new DbConnection();

     }else if(availableConnections.size() > 0){
         DbConnection dbc = availableConnections.iterator().next();
         availableConnections.remove(dbc);
         return dbc;

     }else {
         throw new NoDbConnections();
     }
   }

   public static void returnDbConnection(DbConnection dbc){
     availableConnections.add(dbc);
     //...
   }}


查看完整回答
反對 回復 2019-06-28
?
慕容708150

TA貢獻1831條經(jīng)驗 獲得超4個贊

注意!“靜態(tài)工廠法工廠法模式“(C)有效的Java,約書亞·布洛赫。

工廠方法:“定義用于創(chuàng)建對象的接口,但讓實現(xiàn)接口的類決定實例化哪個類。Factory方法允許類將實例化推遲到子類”(C)Gof。

“靜態(tài)工廠方法只是一個返回類實例的靜態(tài)方法?!?C)有效的Java,約書亞·布洛赫。通常這種方法在特定的類中。

不同之處:

靜態(tài)工廠方法的核心思想是控制對象的創(chuàng)建,并將其從構(gòu)造函數(shù)委托給靜態(tài)方法。要創(chuàng)建的對象的決策類似于在方法之外所做的抽象工廠(在普通情況下,但并非總是如此)。而鑰匙(!)工廠方法的思想是委托決定在工廠方法中創(chuàng)建哪個類的實例。例如,經(jīng)典的Singleton實現(xiàn)是靜態(tài)工廠方法的特例。常用的靜態(tài)工廠方法示例:

  • 價值
  • getInstance
  • 新情況


查看完整回答
反對 回復 2019-06-28
  • 3 回答
  • 0 關(guān)注
  • 1749 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號