2010-09-14 27 views
5

Tôi đã xem xét định nghĩa của PlatformTransactionManager của Spring chứa tham chiếu đến TransactionStatus và TransactionDefinition, hai giao diện khác.Có thể chấp nhận định nghĩa giao diện chứa tham chiếu đến các giao diện khác không?

Điều này có thể chấp nhận được nói chung, định nghĩa của giao diện có chứa tham chiếu đến các giao diện khác không? Khi nào nó hữu ích?

+0

Cảm ơn tất cả các bạn đã làm rõ, tôi đoán tôi sẽ cố gắng theo dõi phong cách này từ giờ trở đi. Các phương thức của giao diện của tôi cho đến nay có xu hướng chỉ sử dụng các kiểu cơ bản, tôi sẽ thay đổi điều đó. –

Trả lời

8

Có thể chấp nhận được. Tại sao nó sẽ không được?

Thậm chí còn tốt hơn để có tham chiếu đến Giao diện thay vì các lớp cụ thể cho những gì nó đáng giá.

+3

Chính xác. IMHO một API được thiết kế tốt có thể/nên thường phơi bày giao diện, enums và chú thích, nhưng hầu như không có bất kỳ lớp cụ thể nào. –

4

Hoàn toàn có thể chấp nhận được. Đôi khi các loại cần tham khảo các loại khác - và nếu các loại đó lần lượt đại diện cho các dịch vụ tiềm năng phức tạp, sẽ hữu ích khi có thể trừu tượng hóa một loại chung, thường ở dạng giao diện.

0

Điều đó có thể ... Đó là một trong những khía cạnh quan trọng trong việc triển khai nhiều thừa kế

+0

Điều đó liên quan đến câu hỏi theo bất kỳ cách nào? – whiskeysierra

+0

@Willi - Không chắc chắn những gì không rõ ràng. Có hai điều được hỏi trong câu hỏi. 1) nếu tham chiếu của các giao diện khác là có thể và 2) khi nào nó có ích. Có vẻ như tôi đã trả lời cả hai. Điều gì là sự nhầm lẫn nếu bạn có thể giải thích tôi có thể sửa câu trả lời của tôi. –

+0

Câu hỏi không phải là về những gì * có thể * thay vì * chấp nhận được * và * hữu ích *. Và tham khảo các loại khác (hoặc giao diện trong trường hợp này) không có gì để làm với kế thừa. – whiskeysierra

0

Có. Điều đó là có thể. Tôi không thể nghĩ ra bất kỳ kịch bản nào mà nó có thể tạo ra bất kỳ vấn đề nào.

Các vấn đề liên quan