30/09/2018, 18:56

"Static factory method" trong Java?

Mình đang đọc phần đầu của cuốn Effective Java, nhưng mà vốn tiếng Anh còn kém nên chưa hiểu nhiều, đầu sách có phần “Consider static factory method instead of Constructor”. Có cao nhân nào thông thạo về vấn đề này thì chỉ mình với…
Còn đây là 1 ví dụ về static factory method mình copy từ Stack Overflow:

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);
     //...
   }
}
Đỗ Trung Quân viết 20:58 ngày 30/09/2018

Bạn hiểu thế nào về static trong java?

huy vo viết 21:01 ngày 30/09/2018

Mình chỉ biết static là khai báo tĩnh, hàm và biến static không cần gọi thông qua đối tượng

huy vo viết 21:03 ngày 30/09/2018

Please help…

Bài liên quan
0