1.開閉原則(open closed principle)是程式設計中最基礎,最重要的原則。
2.乙個軟體實體如類,模組和函式應該對擴充套件開飯,對修改關閉。用抽象構建框架,用實現擴充套件細節。
3.當軟體需要變化時,盡量通過擴充套件軟體實體的行為來實現變化,而不是通過修改已有的**來實現變化。
4.程式設計中遵循其它原則,以及使用設計模式的目的就是遵循開閉原則。
1.
package ocp;
public class ocp
}class graphiceditorelse if(s.m_type == 2)else if(s.m_type == 3)
}public void drawrectangle(shape r)
public void drawcircle(shape s)
public void draw********(shape s)
}class shape
class rectangle extends shape
}class circle extends shape
}//新增畫三角形
class ******** extends shape
}
優缺點:
1)優點是比較好理解,簡單易操作。
2)缺點是違反了是設計模式的ocp原則,即「對擴充套件開飯,對修改關閉」。即當我們給類增加新功能的時候,盡量不修改**,或者盡可能少的修改**。
3)比如案例中增加了乙個三角形繪製,需要對客戶端那邊要做修改,這是不對的。
2.對方案1的改進思路分析:
把建立shape類做成抽象類,並提供乙個抽象的draw方法,讓子類去實現即可,這樣我們有新的圖形種類時,只需要讓新的圖形繼承shape,並實現draw方法即可,使用方的**就不需要修改,這樣就滿足了:開閉原則。
package ocp;
public class ocp1
}class graphiceditor1
}abstract class shape1
class rectangle1 extends shape1
@override
public void draw()
}class circle1 extends shape1
@override
public void draw()
}//新增畫三角形
class ********1 extends shape1
@override
public void draw()
}
設計模式 七大設計原則之開閉原則
在軟體開發中,為了提高軟體系統的可維護性和可復用性,增加軟體的可擴充套件性和靈活性,程式設計師要盡量根據 7 條原則來開發程式,從而提高軟體開發效率 節約軟體開發成本和維護成本。我們將在下面的幾節中依次來介紹這 7 條原則,本節首先介紹開閉原則。開閉原則 open closed principle,...
七大設計原則之開閉原則
開閉原則 open closed principle 是程式設計中最基礎,也是最重要的設計原則。程式設計中遵循其他原則以及使用設計模式的目的就是遵循開閉原則。乙個軟體實體如類,模組和函式應該對 提供方 擴充套件開放,對 使用方 修改關閉。用抽象構建架構,用實現擴充套件細節。當軟體需要變化時,盡量通過...
設計模式 七大原則 開閉原則
開閉原則,是程式設計中最基礎 最重要的設計原則。乙個軟體實體如類,模組和函式應對外擴充套件開放 對提供方 對修改關閉 對使用方 用抽象構建框架,用實現擴充套件細節。當軟體需要變化時,盡量通過擴充套件軟體實體的行為來實現變化,而不是通過修改已有的 來實現變化。說白了就是增加了新功能,盡量保證以前的使用...