在搜索了与紧密耦合相关的不同论坛之后(当一组类相互高度依赖时)示例1
class CustomerRepository
{
private readonly Database database;
public CustomerRepository(Database database)
{
this.database = database;
}
public void Add(string CustomerName)
{
database.AddRow("Customer", CustomerName);
}
}
class Database
{
public void AddRow(string Table, string Value)
{
}
}
上面的类 CustomerRepository 依赖于 Database 类,所以它们是紧密耦合的。我认为这个类也是 Compostion 的一个例子,然后我搜索了松散耦合,所以改变了上面的类,从而消除了紧密耦合依赖。示例 2
class CustomerRepository
{
private readonly IDatabase database;
public CustomerRepository(IDatabase database)
{
this.database = database;
}
public void Add(string CustomerName)
{
database.AddRow("Customer", CustomerName);
}
}
interface IDatabase
{
void AddRow(string Table, string Value);
}
class Database : IDatabase
{
public void AddRow(string Table, string Value)
{
}
}
我已经搜索了组合支持松耦合现在我的问题是 example1 是如何紧密耦合的,因为它是基于组合的?其次,松散耦合和组合之间的关系是什么?
任何帮助将不胜感激。