js简单的工厂模式
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <script> //简单工厂模式 var BicycleShop = function(){}; BicycleShop.prototype ={ sellBicycle : function(model){ var bicycle = null; switch(model){ case 'The Speedster': bicycle = new Speedster(); break; case 'The lowride': bicycle = new Lowride(); break; case 'The Comfort Cruise': bicycle = new ComfortCruise(); break; }; Interface.ensureImplements(bicycle,Bicycle); bicycle.assemble(); bicycle.wash(); return bicycle; } }; var AcmeBicycleShop = function(){}; extent(AcmeBicycleShop, BicycleShop); AcmeBicycleShop.prototype.createBicycle = function(model){ var bicycle = null; switch(model){ case 'The speedster': bicycle = new AcmeSpeedster(); break; case 'The Lowrider': bicycle = new AcmeLowrider(); break; case 'The Flatlander': bicycle = new AcmeFlatlander(); break; case 'The Comfort Cruiser': default : bicycle = new AcmeComfortCruiser(); }; Interface.ensureImplements(bicycle,Bicycle); return bicycle; }; //工厂模式适用与一个 fn 根据参数不同,创建不同的对象 </script> </body> </html>
天道酬勤