Theo cách nói của Layman:
Lý do tương tự các nhà sản xuất apliances điện đã xây dựng các sản phẩm của họ bằng phích cắm điện thay vì tháo dây cáp đơn giản, và các ngôi nhà đi kèm với ổ cắm trên tường thay vì bóc cáp ra khỏi tường.
Thay vào đó, bằng cách sử dụng phích cắm tiêu chuẩn, họ cho phép cắm cùng các ứng dụng trong bất kỳ phích cắm tương thích nào quanh nhà.
Từ quan điểm của ổ cắm trên tường, việc bạn cắm TV hay âm thanh nổi không thành vấn đề.
Điều đó làm cho cả thiết bị và ổ cắm hữu ích hơn.
Lấy ví dụ một phương thức chấp nhận Bản đồ làm đối số.
Phương thức này sẽ hoạt động bất kể bạn truyền HashMap hay LinkedHashMap cho nó, miễn là nó là một lớp con của Map.
Đó là nguyên tắc thay thế Liskov .
Trong mã mẫu bạn đã cung cấp, điều đó có nghĩa là sau này, bạn có thể thay đổi cách triển khai cụ thể của Hash và bạn sẽ không cần thay đổi phần còn lại của mã.
Vấn đề với phần mềm là, vì việc thay đổi mọi thứ sau này tương đối dễ dàng mà không lãng phí gạch hay vữa, mọi người cho rằng kiểu suy nghĩ trước đó không đáng giá. Nhưng thực tế đã cho chúng ta thấy rằng bảo trì phần mềm rất tốn kém.