Effective Java (Java hiệu quả)

Dùng các method static thay vì constructor để tạo object: Các static method thì có tên, constructor không có tên, điều này giúp chúng ta biết rõ chức năng của nó Static method luôn trả về object được tạo sẵn, không cần tạo mới object mỗi lần gọi như constructor Static method có thể trả

  1. Dùng các method static thay vì constructor để tạo object:

    • Các static method thì có tên, constructor không có tên, điều này giúp chúng ta biết rõ chức năng của nó
    • Static method luôn trả về object được tạo sẵn, không cần tạo mới object mỗi lần gọi như constructor
    • Static method có thể trả về kiểu dữ liệu là subtype của class thay vì phải trả đúng kiểu class như constructor. Như vậy kiểu trả về của static method không nhất thiết phải tồn tại. chúng ta có thể extend kiểu của class ra vào sau này
    • Hạn chế:
      • Không subclass được các class không có public hoặc protected constructor
      • Khó để tìm thấy trong docs
  2. Sử dụng builder design pattern khi constructor có nhiều params
    -Tại sao??

  3. Nên sử dụng dependency injection thay vì cố định tham số

  4. Tránh tạo các object không cần thiết:

    • Ví dụ: Không nên viết String a = new String(“a”), hãy viết a = “a”;
    • Không sử dụng String,match() vì mỗi lần gọi method nó đều tạo ra 1 object Pattern mới trước khi đi match. Thay vào đó hãy dùng pattern.match()
    • Sử dụng các kiểu nguyên tố thay cho object, ví dụ Long thay cho long

Nguồn: viblo.asia

Bài viết liên quan

Thay đổi Package Name của Android Studio dể dàng với plugin APR

Nếu bạn đang gặp khó khăn hoặc bế tắc trong việc thay đổi package name trong And

Lỗi không Update Meta_Value Khi thay thế hình ảnh cũ bằng hình ảnh mới trong WordPress

Mã dưới đây hoạt động tốt có 1 lỗi không update được postmeta ” meta_key=

Bài 1 – React Native DevOps các khái niệm và các cài đặt căn bản

Hướng dẫn setup jenkins agent để bắt đầu build mobile bằng jenkins cho devloper an t

Chuyển đổi từ monolith sang microservices qua ví dụ

1. Why microservices? Microservices là kiến trúc hệ thống phần mềm hướng dịch vụ,