我正在尝试通过接口提高我的生产力和可扩展性。它们非常强大,但我在理解或实施方面遇到了障碍。
假设,如果我有一个我无法控制的用户界面;但我正在编写一个将执行一系列逻辑的类库。我最初的想法是这样的:
public interface ISiteForm
{
public string FirstName { get; set; }
public string LastName { get; set; }
// Also any other User Interface Form Fields.
}
它将像这样布置,因此它可以由User Interface实现和引用。
public class SiteForm : ISiteForm
{
public SiteForm()
{
FormPass();
}
public string FirstName
{
get { return firstName; }
set { firstName = value; }
}
public string LastName
{
get { return lastName; }
set { lastName = value; }
}
private string lastName,
private string firstName,
public void FormPass(string _lastName, string _firstName)
{
// Implementation to assign a value from User Interface into the interface.
lastName = _lastName;
firstName = _firstName;
}
}
我的想法是当引用类库时,他们会在调用方法时将这些参数传递给方法。然后在创建班级时自然而然;它会将这些变量分配给接口。
那么,如果我有需要这些相同变量的项目的任何其他部分;我可以简单地调用接口并调整设置器值。
我的担忧是:
- 接口本质上不需要逻辑
- 它们通常是多态的,这将失去特定的实现。
这是通过接口传递参数的错误方法,以便可以在其他地方使用相同的变量吗?