ジェネレータではなく静的パラメータ法を考慮する
5059 ワード
静的パラメータメソッド
point.
静的パラメータ法とpublicジェネレータにはそれぞれの用途があるため,相対的な利点と欠点を理解し,使用する必要がある.ほとんどの場合、静的工場を使用するのが有利なので、公共生成者を盲目的に使用しないで習慣を変えなければならない.
長所
同じ作成者が複数いる場合,開発者やユーザの立場からコードを見なければ明確な機能を知ることが難しく,混同しやすい.
したがって、1つのクラスに同じ作成者が複数必要な場合は、作成者を使用して各相違をよりよく表示するのではなく、静的パラメータメソッドで置き換えることができます.
public class Figure {
public static Figure getRectangle() {
return new Rectangle();
}
public static Figure getCircle() {
return new Circle();
}
static class Rectangle extends Figure {
}
static class Circle extends Figure {
}
}
Figureクラスは、サブタイプのRectangleとCircleを返すことができます.入力
public class Figure {
public static Figure makeFigure(boolean flag) {
return flag ? new Rectangle() : new Circle();
}
static class Rectangle extends Figure {
}
static class Circle extends Figure {
}
}
flagの値に基づいてインスタンスを動的に作成できます.短所
Reference
この問題について(ジェネレータではなく静的パラメータ法を考慮する), 我々は、より多くの情報をここで見つけました https://velog.io/@wooky9633/생성자-대신-정적-팩터리-메서드를-고려하라テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol