javascript 简单工厂模式

			var Bicycle = new Interface("Bicycle",["assemble","wash","ride","repair"]);
			var Lowride = function() {};
			Lowride.prototype = {
				assemble: function() {
					document.write("Lowride assemble success!<br />")
				},
				wash: function() {
					document.write("Lowride wash success!<br />");
				},
				ride: function() {
					document.write("Lowride ride success!<br />");
				},
				repair: function() {
					document.write("Lowride repair success!<br />");
				}
			};
			var Speedstr = function() {};
			Speedstr.prototype = {
				assemble: function() {
					document.write("Speedstr assemble success!<br />")
				},
				wash: function() {
					document.write("Speedstr wash success!<br />");
				},
				ride: function() {
					document.write("Speedstr ride success!<br />");
				},
				repair: function() {
					document.write("Speedstr repair success!<br />");
				}
			}
			var Comfortcruisor = function() {};
			Comfortcruisor.prototype = {
				assemble: function() {
					document.write("Comfortcruisor assemble success!<br />")
				},
				wash: function() {
					document.write("Comfortcruisor wash success!<br />");
				},
				ride: function() {
					document.write("Comfortcruisor ride success!<br />");
				},
				repair: function() {
					document.write("Comfortcruisor repair success!<br />");
				}
			}
			var BicycleFactory = function() {};
			BicycleFactory.prototype = {
				createBicycle: function(model) {
					var bicycle;
					switch(model){
						case "Lowride":
							bicycle = new Lowride();
							break;
						case "Speedstr":
							bicycle = new Speedstr();
							break;
						case "Comfortcruisor":
							bicycle = new Comfortcruisor();
							break;
					}
					Interface.ensureImplents(bicycle,Bicycle);
					return bicycle;
				}
			}
			var BicycleShop = new BicycleFactory();
			var concertBicycle = BicycleShop.createBicycle("Speedstr");
			concertBicycle.assemble();
			concertBicycle.wash();
			concertBicycle.ride();
			concertBicycle.repair();

  

posted @ 2014-05-27 11:09  地狱火之歌  阅读(131)  评论(0编辑  收藏  举报