搜索相關的緊耦合(當一組類是高度依賴於彼此) 例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不同的論壇後鬆耦合是依賴於數據庫類,以便它們緊密耦合。我認爲這個類也是Compostion的一個例子,然後我搜索了鬆耦合,所以改變了上面的類,以便消除緊耦合依賴。 例題
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)
{
}
}
我已搜查該組成支持鬆耦合現在我的問題是如何例1是緊耦合的,因爲它是基於成分?其次是鬆散耦合與構圖之間的關係是什麼?
任何幫助將不勝感激。
謝謝,我想知道什麼是鬆散耦合和組合之間的關係? 構件如何支持鬆耦合,因爲它已完成類的訪問? – Ali
組合描述將一個類的實例作爲屬性放在另一個類上。第二類是「由......組成」本身和另一類;即它可以使用其他類的功能而不需要「正在」另一個類(比如'extend')。 「鬆耦合」通常描述了*不硬編碼依賴關係*並允許它們被替換的想法。構圖是實現這一點的一種典型方式。 – deceze