Câu hỏi phỏng vấn Java
Câu hỏi

Design pattern nào trong thư viện JDK của Java?

Câu trả lời

Trong thư viện JDK của Java, có nhiều mẫu thiết kế (Design Patterns) được áp dụng. Dưới đây là một số ví dụ điển hình:

Creational Patterns

  • Abstract Factory: Được sử dụng để tạo ra một gia đình các đối tượng liên quan hoặc phụ thuộc mà không cần chỉ định lớp cụ thể của chúng. Ví dụ: javax.xml.parsers.DocumentBuilderFactory#newInstance(), javax.xml.transform.TransformerFactory#newInstance(), javax.xml.xpath.XPathFactory#newInstance().
  • Builder: Tách rời quá trình xây dựng một đối tượng phức tạp khỏi biểu diễn của nó, cho phép cùng một quá trình xây dựng tạo ra các biểu diễn khác nhau. Ví dụ: java.lang.StringBuilder#append(), java.nio.ByteBuffer#put() (cũng áp dụng cho các loại Buffer khác như CharBuffer, ShortBuffer, v.v.).
  • Factory Method: Định nghĩa một interface cho việc tạo đối tượng, nhưng để cho các lớp con quyết định lớp nào sẽ được khởi tạo. Ví dụ: java.util.Calendar#getInstance(), java.util.ResourceBundle#getBundle(), java.text.NumberFormat#getInstance().
  • Singleton: Đảm bảo rằng một lớp chỉ có một thể hiện duy nhất và cung cấp một điểm truy cập toàn cục đến thể hiện đó. Ví dụ: java.lang.Runtime.

Structural Patterns

  • Adapter: Cho phép các interface không tương thích làm việc cùng nhau. Ví dụ: java.util.Arrays#asList(), java.io.InputStreamReader(InputStream), java.io.OutputStreamWriter(OutputStream).
  • Bridge: Tách rời một trừu tượng khỏi việc triển khai của nó để chúng có thể thay đổi độc lập. Ví dụ: AWT (Abstract Window Too...
Bạn cần đăng nhập để xem
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Pass by referencepass by value trong Java là gì?

junior

Có thể sử dụng == trên enum trong Java không?

middle

Khi nào thì một Object đủ điều kiện để thu gom rác trong Java?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào