一般化
5577 ワード
📌 メソッドアップ(Pull Upメソッド)
サブクラスが同じ結果を返すメソッドを持つ場合、これらのメソッドをスーパークラスに移動するメソッド
再包装前のソース
class Employee{...}
class Salesman extends Employee{
get name() {...}
}
class Engineer extends Employee{
get name() {...}
}
再包装したソース
class Employee{
get name(){...}
}
class Salesman extends Employee{...}
class Engineer extends Employee{...}
📌 抽出サブクラス(Extract Subclass)
クラスに特定のインスタンスでのみ使用される機能がある場合、これらの機能からなるサブクラスを作成する方法.
再包装前のソース
function createEmployee(name, type){
return new Employee(name, type);
}
再包装したソース
function createEmployee(name, type){
switch(type){
case "engineer" : return new Engineer(name);
case "salesman" : return new Salesman(name);
case "manager" : return new Manager(name);
}
}
📑 References
https://chchoing88.github.io/ho_blog/generalization-processing/
Reference
この問題について(一般化), 我々は、より多くの情報をここで見つけました https://velog.io/@come_true/일반화テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol