2008-12-11 46 views
5

Tôi đã thấy hai phương pháp này để khai báo liên tục sẽ được sử dụng trong dự án.Khai báo các hằng số trong một dự án

  1. Hằng số trong mô-đun công khai.

  2. hằng số trong một lớp NonInheritable (Sealed)

Có ai sử dụng bất kỳ phương pháp khác để declartion liên tục?

Có sự khác biệt nào giữa các cách tiếp cận này, bất kỳ ưu và nhược điểm nào không?

Cảm ơn.

Trả lời

13

Đặt hằng số trong lớp có liên quan nhất - ví dụ: Math.Pi, Int32.MinValue, vv

Tôi đã nhìn thấy hằng số khác nhau mà thực sự cần được enums, quá - đặc biệt đối với mã trạng thái, vv

Tôi không nghĩ rằng nó là khôn ngoan để tạo ra một lớp (hoặc mô-đun) chỉ cho hằng số trừ khi có thực sự là không có lớp hợp lý rằng các hằng số có liên quan.

3

Tôi đồng ý với @Jon. Tuy nhiên, đối với các hằng số duy nhất cho ứng dụng của bạn - tức là chúng là các mặc định cấu hình, các thông số điều chỉnh, v.v., đôi khi tôi tạo một lớp cấu hình tĩnh mạnh để giữ chúng. Tôi phơi bày các giá trị thông qua các thuộc tính chỉ với các getters công được định nghĩa. Bằng cách này, chúng có thể được tải từ tệp cấu hình, nhưng được tham chiếu trong suốt mã của bạn dưới dạng giá trị cố định.

1

Thực hành của tôi tương tự như những gì Jon nói. Phần lớn các enums và liên tục rõ ràng là gắn liền với một lớp học cụ thể hoặc mô-đun và được công bố công khai trong đó.

Mức thấp nhất của phần mềm của tôi được gọi là Tiện ích và chứa các thói quen toán học và các chức năng và phương pháp tiện ích chung khác (chứ không phải là tiện ích cụ thể cho chế độ của ứng dụng đó). Trong đó có một mô-đun mà có như là một loạt các chức năng mà chỉ là các chức năng tiện ích/chương trình con mà không có chủ đề chung. Đó là trong một khu vực mà bất kỳ enums hoặc liên tục đi.

Có một khu vực tương tự cho mô hình ứng dụng, nơi các tiện ích được sử dụng chung cho ứng dụng đó. Và đó là nơi các hằng số không thể liên kết với bất kỳ một lớp nào của MODEL.

Vì vậy, có ba lĩnh vực mà liên tục có thể được tìm thấy trong khuôn khổ cá nhân của tôi

Tờ khai lớp Các module tiện ích chung của mô hình ứng dụng Các module tiện ích chung của hội tiện ích.

Trong thực tế, chỉ một số ít trong số hàng chục enum và hằng số cần thiết để được khai báo trong cả hai mô-đun tiện ích. Hầu hết trong số đó là Win32 decelerations được sử dụng bởi chức năng Win32 được nhập khẩu vào lắp ráp của tôi.

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