Tôi thường tự hỏi về cách đúng để thực hiện việc này:Lưu trữ dữ liệu Const thứ bậc
Ví dụ, trong chương trình của tôi có khoảng 100 hằng số (hoặc enums) được sử dụng trong một số phép tính. Chúng nên được lưu trữ ở một nơi. Chúng có thể được phân nhóm theo thứ bậc, ví dụ:
System3/Rules/Rule7/ParameterXY/MaxAverageValue
Đương nhiên, tôi muốn các giá trị này có thể truy cập được khi mã hóa, vì vậy không thực sự là một lựa chọn.
Theo như tôi có thể nói, điều này có thể được thực hiện với:
- tên liên tục rất lâu
- lớp làm tổ
- namespace
Sử dụng tên khá xấu xí, và nó không thực sự bảo trì tốt. Tôi tìm thấy các lớp làm tổ một cách tốt đẹp để làm điều đó, nhưng một số quy tắc stylecop/fxcop cấm điều đó, vì vậy điều này phải là "xấu" theo một cách nào đó. Cuối cùng, tôi tìm thấy các thay thế được đề xuất, sử dụng không gian tên, không phải là khủng khiếp tốt đẹp không. Imho nó tạo ra khối lượng của các thư mục và tập tin mà mỗi chứa hầu như không có gì. Và tôi không thích khi 50 không gian tên phụ bật lên trong bộ phản xạ lắp ráp.
Vì vậy, .. làm thế nào để bạn thực hiện loại công việc này? Bạn đề nghị điều gì?
Tôi sẽ đề xuất không gian tên. Tránh các lớp lồng nhau và các tên hằng số dài.Thật khó để đọc được –
MVC sử dụng các lớp học được tạo ra với các trường công lập const tĩnh IIRC – sehe
@StevenMuhr: Tại sao bạn nói rằng các lớp lồng nhau khó đọc ra? Trên đỉnh đầu tôi đánh tôi như một giải pháp mà tôi muốn. Có nghĩa là bạn có thể giữ tất cả các hằng số của mình trong một tệp và bạn nhận được cấu trúc phân cấp giống như với các không gian tên. – Chris