Biểu tượng biểu đồ lớp UML cho hàm cấp cao nhất


13

Trong ký hiệu sơ đồ lớp UML, làm cách nào để biểu thị một hàm cấp cao nhất không có lớp đóng gói hoặc cấu trúc khác?

ví dụ: tôi có một chức năng được sử dụng để truy xuất dữ liệu từ một URL. Vì nó là một hàm (theo nghĩa toán học) chỉ có các tham số và trạng thái chung được chia sẻ, nên hàm không được đặt trong một lớp mà được để lại như một phương thức cấp cao nhất.

Bây giờ, mặc dù, tôi cần tạo một sơ đồ UML cho một chương trình bằng cách sử dụng nó và tôi không thể tìm thấy bất cứ điều gì về cách biểu thị một hàm cấp cao nhất. Làm thế nào để tôi làm điều này?


Bạn có thể mô hình hóa nó như là staticphương thức của một lớp đặc biệt gọi là egglobal
xmojmr

1
Các câu trả lời dưới đây là tốt. Tuy nhiên, thay vì gọi lớp hoặc khuôn mẫu là "toàn cầu", tôi nghĩ rằng "Độc lập" là tốt hơn vì nó rất rõ ràng với ý định của bạn. Như đã nói, IMO thậm chí còn tốt hơn là đặt các hàm "cấp cao nhất" trong một không gian tên được đặt tên tốt, cho phép tổ chức các hàm và sau đó cung cấp cho bạn một lớp để đặt chúng vào. Do đó, đặt hàm vào một không gian tên được gọi UrlUtilities vượt trội hơn nhiều so với việc chỉ có chức năng "cấp cao nhất" này. Nhưng sau đó, một lần nữa, tại thời điểm này, bạn cũng có thể đặt nó trong một lớp UrlUtilities như một phương thức tĩnh, đó là tùy chọn tốt nhất.
Dunk

Câu trả lời:


10

Ngôn ngữ UML không hỗ trợ khái niệm các hàm độc lập. Trong UML, tất cả các hàm phải là một phần của lớp.

Khi giải quyết vấn đề, bạn có thể mô hình hóa các hàm độc lập của mình thành các thành viên tĩnh của một lớp mà chúng có liên quan chặt chẽ với nhau. Nếu không có lớp như vậy, thì bạn có thể mô hình hóa các hàm đó như là một phần của lớp giả, giống như globallớp được đề cập bởi @xmojmr trong các bình luận.


7

Tạo một bản mẫu mà bạn có thể đính kèm vào trình phân loại "lớp", vd <<global function>>. Sau đó, bạn có thể tạo một "lớp" rập khuôn duy nhất cho mỗi hàm toàn cục có chứa một hoạt động tĩnh được chỉ định đầy đủ.

Bản mẫu tôi đề xuất nói với người đọc sơ đồ để giải thích trình phân loại là một hàm. Hình chữ nhật (với bản mẫu) trên sơ đồ đã cho sẽ đại diện cho một hàm duy nhất, trong khi các phụ thuộc của nó đại diện cho các phụ thuộc của hàm đơn đó.


Tôi đang gặp khó khăn khi thấy câu trả lời của bạn khác với Bart ...
Adam Zuckerman

3
@AdamZuckerman - Bart tạo ra một lớp duy nhất gọi là "toàn cầu", tổng hợp tất cả các chức năng toàn cầu, gây khó khăn cho việc biết chức năng và phụ thuộc toàn cầu nào áp dụng trong bối cảnh đưa ra. Bản mẫu mà tôi đề xuất nói với người đang đọc sơ đồ để giải thích lớp là một hàm thay thế. Một hình chữ nhật lớp (với bản mẫu) sẽ đại diện cho một chức năng, trong khi phụ thuộc của nó đại diện cho các phụ thuộc của chức năng đó.
Doug Knesek
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.