今日、私のジレンマは、ストラテジーとブリッジパターンの実装方法が重複している理由を理解しようとすることから発生します。ここでデザインパターン - ストラテジーとブリッジ(オーバーラップデザイン)
は今ここにブリッジパターン(抽象化の実装を抽象化)
// Shapes object structure will not be concerned how they draw themselves
public abstract class Shape {
protected DrawAPI drawAPI;
protected Shape(DrawAPI drawAPI){
this.drawAPI = drawAPI;
}
// This could also be put in the subcla
public void draw() {
drawAPI.drawCircle(radius,x,y);
}
}
あるStrategyパターンである - クラスの動作やそのアルゴリズムは、実行時に変更することができます。電卓は、これらのパターンの両方が機能をカプセル化戦略オブジェクトを破棄伴う戦略
public class Calculator{
private Strategy strategy;
public Calculator(Strategy strategy){
this.strategy = strategy;
}
public int executeStrategy(int num1, int num2){
return strategy.doOperation(num1, num2);
}
}
にその業務を委任します。 Bridge Pattern(構造)とStrategy Pattern(行動)の明確な違いを助けてください。私が持っている別の混乱は、彼らが知識の異なる傘の下にあることです。
[戦略対ブリッジパターン]の可能な複製(http://stackoverflow.com/questions/5863530/strategy-vs-bridge-patterns) –
http://stackoverflow.com/questions/5863530/strategy-vs -bridge-patterns、http://stackoverflow.com/questions/464524/what-is-the-difference-between-the-bridge-pattern-and-strategy-pattern – Andrew
戦略は行動パターンであり、ブリッジは構造パターンです。 http://stackoverflow.com/questions/464524/what-is-the-difference-between-the-bridge-pattern-and-strategy-pattern –