Table of Contents
Ngoại lệ tham chiếu Null là một nguồn thông thường của lỗi trong chương trình Java. Chúng xảy ra khi mã cố truy cập phương pháp hay thuộc tính của một đối tượng là null, dẫn đến lỗi chạy thời gian. Để giải quyết vấn đề này, các nhà phát triển sử dụng nhiều kỹ thuật khác nhau, một trong đó là mẫu đối tượng Null.
Mẫu hình vật chất là gì?
Mẫu đối tượng Null bao gồm việc tạo một đối tượng đặc biệt đại diện sự vắng mặt của một đối tượng thật. Thay vì sử dụng tham chiếu vô giá trị, chương trình này sử dụng đối tượng vô giá trị này, mà thực hiện cùng một giao diện với đối tượng thật nhưng cung cấp hành vi mặc định hay trống. Cách này giúp tránh ngoại lệ tham chiếu vô giá trị bằng cách đảm bảo tính tương tác đối với đối tượng luôn luôn an toàn.
Cách hoạt động trên xe Java
Ở Java, bạn có thể thường kiểm tra xem một đối tượng nào đó vô giá trị trước khi gọi phương pháp của nó:
Nếu (người dùng! = null){ user.sendMessage ();)
Với mẫu đối tượng Null, bạn tạo một vô giá trị thực hiện giao diện:
Lớp NellUser thực hiện ) người dùng
Gửi MEssage () )
/ không làm gì
]
/ các phương pháp khác với hành vi mặc định
Bây giờ, thay vì kiểm tra số vô giá trị, bạn chỉ định một đối tượng NellUser khi người dùng thật vắng mặt:
Người dùng = TìmUser ();)
Nếu (người dùng == null)
người dùng = mới NullUser ();)
Gọi luôn luôn an toàn, bất kể người dùng có tồn tại hay không.
Lợi ích của gương mẫu vật chất
- Ngăn chặn sự nhiễm độc khi chạy.
- Giảm thiểu nhu cầu kiểm tra vô giá đi khắp các mã.
- cải thiện khả năng đọc mã và duy trì.
- Tính toán hành vi mặc định, làm cho mã lệnh linh hoạt hơn.
Quan tâm và giới hạn
Dù mẫu vật linh động mang lại nhiều lợi ích, nhưng không thích hợp cho mọi tình huống, nhưng việc tạo ra các vật vô giá trị làm tăng sự phức tạp và có thể dẫn đến sự nhầm lẫn nếu không được ghi chép đúng cách.
Kết luận
Mẫu đối tượng Null là một công cụ mạnh mẽ để ngăn chặn ngoại lệ tham chiếu vô giá trong Java. Bằng cách cung cấp mặc định, không làm gì thực hiện, nó đơn giản hoá mã và tăng cường sự ổn định. Khi sử dụng thích hợp, nó có thể làm cho ứng dụng Java của bạn mạnh mẽ hơn và dễ dàng hơn để duy trì.