Bạn có nên xem xét việc sử dụng Properties.Settings.Default
trong một lớp làm phụ thuộc không và do đó hãy tiêm nó?Sử dụng tiêm phụ thuộc cho Properties.Settings.Default?
ví dụ .:
public class Foo
{
private _settings;
private bool _myBool;
public Foo(Settings settings)
{
this._settings = settings;
this._myBool = this._settings.MyBool;
}
}
.
.
hoặc bạn có xem xét việc sử dụng Settings
làm ứng dụng toàn cầu là thực tiễn tốt không?
ví dụ .:
public class Foo
{
private bool _myBool;
public Foo()
{
this._myBool = Properties.Settings.Default.MyBool;
}
}
Tôi thích ý tưởng về giao diện nhưng tôi không chắc chắn cách thực hiện điều đó. Bạn có nghĩa là có một giao diện có các thuộc tính trực tiếp ánh xạ tới các thuộc tính trong Cài đặt, hoặc sử dụng Trình Quản lý Cấu hình, giống như cách mà mã bạn liên kết làm không? Không sử dụng ConfigurationManager trước đây, vì vậy không quá chắc chắn phải làm gì ở đây. Một di chuyển theo hướng đúng sẽ được đánh giá cao. :) – Andy
'IConfigurationManager' chỉ là một ví dụ về nơi cài đặt bên ngoài có thể nằm trong ứng dụng và bạn muốn chúng được xử lý bởi vùng chứa và được đưa vào lớp. Đối với lớp 'Settings', tôi sẽ có khuynh hướng tạo giao diện' ISettings' phù hợp nhất với các thành viên của 'Settings'; vì vậy nếu bạn có thuộc tính 'ConnectionString' trên' Cài đặt' thì hãy đặt thuộc tính này trên giao diện, v.v. –
Cảm ơn bạn đã làm rõ, điều đó có ý nghĩa. – Andy