2015-03-20 25 views
8

Như tôi đọc trong Effective javasự khác biệt giữa lớp học cồng kềnh và lớp được gắn thẻ là gì?

phân cấp lớp Sình có thể dẫn đến các lớp học cồng kềnh chứa nhiều phương pháp chỉ khác nhau về kiểu lập luận của họ, như có không loại trong hệ thống phân cấp lớp để nắm bắt hành vi thông thường.

và trong Link

Một lớp học cồng kềnh thường có nhiều trường hợp đặc biệt: các thuộc tính hay hành vi hợp lệ đối với một số trường hợp nhưng không phải người khác. Thông thường các lập trình viên cố gắng thỏa thuận với trường hợp đặc biệt bằng cách giới thiệu loại thẻ.

và tương đồng là có giữa lớp Tagged đến lớp cồng kềnh như trong Effective java nó được đề cập rằng:

một lớp có trường hợp có hai hoặc nhiều hương vị và chứa một lĩnh vực thẻ cho thấy hương vị của ví dụ. các trường hợp được gánh nặng với các trường không liên quan thuộc các hương vị khác.

nên kết luận cả hai lớp có thể có loại Tag/Fieldscả hai lớp đang có rất nhiều hiện thực (rất nhiều tính năng mô phỏng trong một lớp).

tôi đã nhầm lẫn với các thuật ngữ này và tôi muốn biết rằng, sự khác biệt giữa hai lớp học Bloated và lớp được gắn thẻ ??

Trả lời

4
  • Lớp học cồng kềnh bị cồng kềnh (xem bên dưới).
  • Một tagged lớp có một hoặc nhiều thẻ.
  • Một tagged lớp có khả năng cồng kềnh, một lớp học cồng kềnh không nhất thiết phải gắn thẻ.

"Bloated" là (hơi) chủ quan, "được gắn thẻ" là tầm thường để xác định. "Bloat" có thể ám chỉ đến nhiều thứ; chia tách mối quan tâm kém, thiếu gói gọn, mức độ trừu tượng khác nhau, v.v.

"Tagged" ít chủ quan, vì sẽ có một lĩnh vực xác định việc tách chức năng, trừu tượng, vv

+1

tôi đã nhận một số quan điểm bây giờ nhờ :) – Prashant

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