私はレイアウトマネージャークラスを持っており、このクラスはデータグリッドレイアウトを設定するために設計されています。コード:
class LayoutManager
{
private object _target;
public LayoutManager(object aDataGrid)
{
_target = aDataGrid;
}
public void SaveLayout(string strProfileID)
{
}
public void LoadLayout(string strProfileID)
{
}
//in future I might add below function
public void ResetLayout()//OtherFunction0
{
}
public void OtherFunction1()
{
}
public void OtherFunction2()
{
}
}
OCP によると、「クラスは拡張のために開いている必要がありますが、変更のために閉じている必要があります」。LayoutManager クラスに新しい関数を追加した場合、このアクションは OCP に違反しますか? はいの場合、クラスを設計する適切な方法は何ですか?