2012-04-19 31 views
5

Tôi có một số lớp học riêng tư bên trong và tôi không chắc chắn nên đặt chúng ở đâu trong sơ đồ lớp của tôi. Họ có nên ở trong các lớp học bên ngoài của riêng mình hay không?Các lớp học riêng và uml

Trả lời

1

UML là để thiết kế hoặc mô tả kiến ​​trúc phức tạp. Tôi không nghĩ rằng một lớp bên trong là quan trọng để đề cập đến nó trong một sơ đồ lớp UML. Nếu bạn thiết kế hệ thống của mình trên cấp độ giao diện, việc triển khai của bạn và do đó lớp riêng tư nằm ngoài tiêu điểm, cũng như tất cả các phương thức riêng tư. Sơ đồ của bạn chỉ nên chứa các phương thức công khai = các phương thức giao diện.

2

Bạn có thể đại diện cho họ bên ngoài với một số containment có dấu hiệu + ở bên cạnh lớp bên ngoài. Bạn có thể tìm thấy nó here.

0

Tôi không nghĩ rằng bạn có thể có một lớp bên trong một lớp khác trong sơ đồ lớp UML. Cách bạn trình bày chúng trong UML nên phản ánh quan hệ cấu trúc của chúng với các lớp cha. Nếu chúng được tạo ra bên trong chỉ để thuận tiện, bạn chỉ có thể kết nối chúng. Nếu chúng có mối quan hệ ngăn chặn hoặc tập hợp, UML có cú pháp thích hợp. Trong mọi trường hợp, các lớp bên trong là ngôn ngữ cụ thể và do đó, nó sẽ là lạ (và thực sự là một thiết kế sai lầm) cho UML để có bất kỳ hỗ trợ rõ ràng cho họ.

liên quan có khả năng thảo luận bên ngoài: http://www.coderanch.com/t/99318/patterns/Inner-Class-UML

2

Luôn luôn có một sự khác biệt giữa UML ngôn ngữ và bất cứ công cụ mô hình bạn đang sử dụng, vì vậy đó là cách tốt nhất để đạt được một cái gì đó phụ thuộc vào công cụ.

Trong UML, các lớp có khả năng hiển thị/phạm vi, giống như thành viên của lớp học. Nói cách khác, UML cho phép các lớp riêng, nhưng điều đó không có nghĩa là công cụ của bạn có thể hiển thị "sự riêng tư" của lớp.

UML cũng cho phép các lớp học chứa các lớp khác. Tôi nói cách khác, các lớp học có thể đóng vai trò như các gói. Một lần nữa, cách công cụ hiển thị điều này thay đổi.

Từ góc độ UML thuần túy, tôi khuyên bạn nên có lớp bên trong chứa bên trong lớp bên ngoài và được đánh dấu riêng tư.

Trong biểu đồ, nếu công cụ của bạn không hiển thị không gian tên, bạn có thể thay đổi kích thước lớp bên ngoài và đặt bên trong nó. Nếu công cụ của bạn cho phép thay đổi kích thước, đó là.

Cuối cùng, trừ khi bạn chỉ có tổng cộng tám hoặc mười lớp, tôi khuyên bạn nên hiển thị các lớp bên trong trong một biểu đồ riêng biệt.

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