如果switch語句中的分支固定,且不可變(例如,星期中只有7天)不用使用工廠方法替換;如果分支不固定,或將來有可能改,可以採用工廠方法來替換switch語句,這樣就符合開發閉合原則。
plandatatype 型別:
package com.test.factory;
public
inte***ce
plandatatype
stringtype 類
package com.test.factory;
import org.apache.commons.lang3.stringutils;
public
class
stringtype
implements
plandatatype
return
false;
}}
integertype 類:
package com.test.factory;
import org.apache.commons.lang3.stringutils;
public
class
integertype
implements
plandatatype
return
false;
}}
factory類:
package com.test.factory;
public
class factory catch(exception e)
return plandatatype ;
} }
plandatatypevalidationtest類:
package com.test.factory;
public
class plandatatypevalidationtest else
}}
輸出:
ok
重構 switch 使用 工廠 策略
往常的 switch zeroorderrequest.getreceivetype 聽架構師說這樣的 一點不優雅 重構為 乙個工廠 列舉 策略實現 建立乙個 工廠 伯樂操作運單工廠 component public class operationorde ctory public operatio...
4 2 使用工廠方法建立Bean
不使用spring建立bean例項,而是把bean建立過程轉移到開發者手中。建立工廠類 package com.erick.d1.hello public class studentfactorystatic id student class com.erick.d1.hello.studentfa...
Spring 使用工廠方法例項化物件
如果某個物件需要通過靜態工廠或例項化工廠來建立,spring 該如何配置呢?首先定義乙個類,需要通過靜態工廠建立物件。package shangbo.spring.core.example5 public class outputservice 靜態工廠 public static outputse...