当前位置: 首页 > news >正文

企业网站子页面模板威海人社app下载官网2022

企业网站子页面模板,威海人社app下载官网2022,快站是个什么平台,一小时做网站简介#xff1a; 简单工厂模式#xff0c;它提供了一个用于创建对象的接口#xff0c;但具体创建的对象类型可以在运行时决定。这种模式通常用于创建具有共同接口的对象#xff0c;并且可以根据客户端代码中的参数或配置来选择要创建的具体对象类型。 在简单工厂模式中 简单工厂模式它提供了一个用于创建对象的接口但具体创建的对象类型可以在运行时决定。这种模式通常用于创建具有共同接口的对象并且可以根据客户端代码中的参数或配置来选择要创建的具体对象类型。 在简单工厂模式中有一个专门的类负责创建其他类的实例这个类称为工厂类。被创建的实例通常都具有共同的父类。工厂类中有一个用于创建对象的静态工厂方法系统可以根据该方法所传入的参数来动态决定应该创建出哪一个产品类的实例。 以汽车生产为例简单工厂模式可以模拟该生产过程。我们将汽车抽象为一个产品接口不同品牌的汽车则具体实现该接口并提供各自的功能。工厂类负责根据传入的品牌参数来创建相应的汽车对象。 以下是简单工厂模式的步骤 1、定义产品接口首先定义一个产品接口例如“汽车”它包含一些公共的方法如“启动”、“刹车”等。 2、实现具体产品类针对不同的品牌创建具体的实现类来实现产品接口。例如“奔驰”和“宝马”都实现了“汽车”接口并提供了各自特有的功能。 3、创建工厂类创建一个工厂类它包含一个静态工厂方法用于根据传入的品牌参数来创建相应的汽车对象。例如在“奔驰”工厂中我们创建了一个静态方法“createCar”它根据传入的品牌来实例化相应的汽车对象。 4、使用工厂类创建产品对象客户端代码直接调用工厂类的静态工厂方法来创建需要的汽车对象而无需关心具体的品牌和创建细节。例如我们调用“奔驰”工厂的“createCar”方法并传入型号参数“E-260-L”即可得到一个奔驰E260L对象。 简单工厂模式的优点它能将对象的创建和对象本身业务处理分离降低系统的耦合度使得两者修改起来都相对容易。同时由于工厂方法是静态方法使用起来很方便只需通过工厂类类名直接调用即可无需了解对象的创建细节。它可以在不修改客户端代码的情况下扩展新的产品类型因为新产品只需实现抽象产品接口并在工厂类中添加相应的创建逻辑即可。而不需要修改其它已经存在的代码这样就保持了良好的封装性。 简单工厂模式的缺点如果Shape类型的数量很多那么ShapeFactory类就会变得很庞大而且所有创建对象的逻辑都集中在一个类中破坏了代码的模块化破坏了“开闭原则”。 示例 一、C#简单工厂模式 以下是一个示例展示了如何在C#中实现简单工厂模式 // 接口   public interface Shape   {  void Draw();   }  // 实现接口的实体类   public class Circle : Shape   {  public void Draw()  {  Console.WriteLine(绘制一个圆形);  }   }  public class Rectangle : Shape   {  public void Draw()  {  Console.WriteLine(绘制一个矩形);  }   }  // 工厂类创建实体类的对象   public class ShapeFactory   {  // 通过GetShape方法来根据传入的字符串来返回相应的Shape类型的对象  public Shape GetShape(string type)  {  if (type Circle)  {  return new Circle();  }  else if (type Rectangle)  {  return new Rectangle();  }  else  {  throw new ArgumentException(无效的图形类型);  }  }   } //使用这个工厂你可以在运行时决定创建哪种类型的 Shape。例如 class FactoryPatternDemo {static void Main(string[] args){ShapeFactory shapeFactory new ShapeFactory();  Shape shape1 shapeFactory.GetShape(Circle);  shape1.Draw();  // 输出绘制一个圆形  Shape shape2 shapeFactory.GetShape(Rectangle);  shape2.Draw();  // 输出绘制一个矩形  }   } 二、java简单工厂模式 以下是一个示例展示了如何在Java中实现简单工厂模式 // 接口   public interface Shape {  void draw();   }   // 实现接口的实体类   public class Circle implements Shape {  Override  public void draw() {  System.out.println(绘制一个圆形);  }   }  public class Rectangle implements Shape {  Override  public void draw() {  System.out.println(绘制一个矩形);  }   } // 工厂类创建实体类的对象  public class ShapeFactory {  // 通过getShape方法来根据传入的字符串来返回相应的Shape类型的对象  public Shape getShape(String type) {  if (type.equalsIgnoreCase(CIRCLE)) {  return new Circle();  } else if (type.equalsIgnoreCase(RECTANGLE)) {  return new Rectangle();  } else {  throw new IllegalArgumentException(无效的形状类型);  }  }   } //然后我们就可以这样使用这个工厂类创建Shape对象 public class FactoryPatternDemo {  public static void main(String[] args) {  ShapeFactory shapeFactory new ShapeFactory();  Shape shape1 shapeFactory.getShape(CIRCLE);  shape1.draw();  // 输出绘制一个圆形  Shape shape2 shapeFactory.getShape(RECTANGLE);  shape2.draw();  // 输出绘制一个矩形  }   } 三、javascript简单工厂模式 在JavaScript 中它使用一个共同的接口来实例化不同类型的对象而无需直接使用具体类。在工厂模式中您可以创建一个工厂类来负责创建对象而无需暴露创建逻辑。 以下是一个示例展示了如何在JavaScript中实现简单工厂模式 // Car 接口   class Car {  constructor(name) {  this.name name;  }  start() {  console.log(this.name started);  }  stop() {  console.log(this.name stopped);  }   }  // CarFactory 工厂类   class CarFactory {  constructor() {  this.cars {};  }  // 创建轿车对象  createCar(name, typeSedan) {  if (!this.cars[type]) {  this.cars[type] new Car(type);  }  return this.cars[type];  }  // 创建卡车对象  createTruck(name, typePickup) {  if (!this.cars[type]) {  this.cars[type] new Car(type);  }  return this.cars[type];  }   } //接下来我们使用 CarFactory 工厂类来制造不同类型的汽车 // 创建 CarFactory 实例   const carFactory new CarFactory();  // 制造轿车   const sedan carFactory.createCar(Alice, Sedan);   sedan.start(); // 输出 Sedan started   sedan.stop(); // 输出 Sedan stopped  // 制造卡车   const truck carFactory.createCar(Bob, Truck);   truck.start(); // 输出 Pickup started   truck.stop(); // 输出 Pickup stopped 四、C简单工厂模式 在C中可以通过以下步骤来实现简单工厂模式 1、定义一个抽象基类或接口其中包含所有派生类的公共方法。这个抽象基类可以看作是工厂的公共接口它不知道具体对象的类型。 2、创建多个派生类这些派生类实现了抽象基类中的所有公共方法每个派生类具有不同的状态和行为。 3、创建一个工厂类它包含一个用于创建对象的纯虚函数。这个纯虚函数根据传入的参数类型来创建相应的派生类对象并返回该对象的指针。 4、在客户端代码中通过调用工厂类的纯虚函数来创建对象。由于客户端代码不知道具体对象的类型因此可以使用抽象基类的指针来操作这些对象。 以下是一个示例展示了如何在C中实现简单工厂模式 #include iostream  // 抽象基类   class Shape {   public:  virtual void draw() 0;   };  // 圆形派生类   class Circle : public Shape {   public:  void draw() override {  std::cout 绘制圆形 std::endl;  }   };  // 矩形派生类   class Rectangle : public Shape {   public:  void draw() override {  std::cout 绘制矩形 std::endl;  }   };  // 工厂类   class ShapeFactory {   public:  // 根据传入的参数类型来创建相应的对象并返回该对象的指针  static Shape* createShape(const std::string type) {  if (type Circle) {  return new Circle();  } else if (type Rectangle) {  return new Rectangle();  } else {  throw std::invalid_argument(无效的形状类型);  }  }   };  int main() {  // 创建圆形对象  Shape* circle ShapeFactory::createShape(Circle);  circle-draw(); // 输出绘制圆形  delete circle;  // 创建矩形对象  Shape* rectangle ShapeFactory::createShape(Rectangle);  rectangle-draw(); // 输出绘制矩形  delete rectangle;  return 0;   } 五、python简单工厂模式 在Python中工厂模式通常是通过函数或类来创建其他类的实例。简单工厂模式是一种常见的工厂模式它通过一个单独的工厂类来创建产品对象这个工厂类一般用来创建与环境有关的具体产品。 下面是一个Python中简单工厂模式的例子 class Product(object):  def operation(self):  pass  class ConcreteProduct1(Product):  def operation(self):  return ConcreteProduct1 operation  class ConcreteProduct2(Product):  def operation(self):  return ConcreteProduct2 operation  class Factory:  staticmethod  def create_product(product_type):  if product_type type1:  return ConcreteProduct1()  elif product_type type2:  return ConcreteProduct2()  else:  return None  def client_code(factoryFactory):  product factory.create_product(type1)  print(product.operation())  if __name__ __main__:  client_code() 六、Go简单工厂模式 以下是一个示例展示了如何在go中实现简单工厂模式 // 抽象产品接口   interface Product {  void use();   }  // 具体产品类1   class ConcreteProduct1 implements Product {  public void use() {  System.out.println(使用具体产品1);  }   }  // 具体产品类2   class ConcreteProduct2 implements Product {  public void use() {  System.out.println(使用具体产品2);  }   }  // 工厂类   class Factory {  public Product createProduct(String type) {  if (type.equals(product1)) {  return new ConcreteProduct1();  } else if (type.equals(product2)) {  return new ConcreteProduct2();  } else {  throw new IllegalArgumentException(无效的产品类型);  }  }   }  // 客户端代码   public class Client {  public static void main(String[] args) {  Factory factory new Factory();  Product product1 factory.createProduct(product1);  product1.use(); // 输出使用具体产品1  Product product2 factory.createProduct(product2);  product2.use(); // 输出使用具体产品2  }   } 七、PHP简单工厂模式 以下是一个示例展示了如何在PHP中实现简单工厂模式 ?php  // 产品接口   interface Product {  public function useProduct();   }  // 具体产品类 1   class ConcreteProduct1 implements Product {  public function useProduct() {  echo 使用具体产品1\n;  }   }  // 具体产品类 2   class ConcreteProduct2 implements Product {  public function useProduct() {  echo 使用具体产品2\n;  }   }  // 工厂类   class Factory {  public static function createProduct($type) {  if ($type product1) {  return new ConcreteProduct1();  } elseif ($type product2) {  return new ConcreteProduct2();  } else {  throw new Exception(无效的产品类型);  }  }   }  // 客户端代码   function clientCode() {  $product1 Factory::createProduct(product1);  $product1-useProduct(); // 输出使用具体产品1  $product2 Factory::createProduct(product2);  $product2-useProduct(); // 输出使用具体产品2   }  // 调用客户端代码   clientCode();   ? 《完结》
http://www.hkea.cn/news/14295973/

相关文章:

  • 从域名角度看网站建设注意事项企业画册的设计效果
  • 企业营销型网站推广方法宁波网站建设服务提供商
  • 做标书需要用到哪些网站查资料价格合理的网站建设
  • 有没有做衣服的网站如何设计网站以网络为中心的企业文化
  • 微信小程序一键生成链接官网seo关键词排名系统
  • 网站做中英版网页期末大作业
  • 郑州百度网站优化便宜的网站建设
  • 商品网站wordpress百度收录插件
  • 重庆新闻联播回放今天seo成功案例分析
  • 门户网站兴化建设局 金建设网站需要从哪方面考虑
  • 我是做网站怎么赚钱吗软件代理网
  • 免费网站推荐软件网站动态域名
  • 手机怎么做动漫微电影网站自己的域名可以转给做网站的账号吗
  • 用mui做的网站网站建设服务内容
  • 上海网站开发一对一培训网站主机的选择与优化
  • 网站开发和设计区别重庆网站建设重庆网站设计
  • 学校建网站win7+网站建设
  • 润滑油手机网站模板品牌设计和vi设计有什么区别
  • 汕头百度网站排名wordpress表单模板
  • 网站调优技能电子商务平台的特点
  • 常见网站建设工具有哪些磁力王
  • dede手机网站模板修改域名备案网站要不要关
  • 安徽太基建设官方网站品牌建设
  • 有哪些网站的搜索引擎wordpress videopro汉化
  • 电子商务网站开发的题怎么帮网站做支付接口
  • 零食网站建设的策划书网站建设能给客户带来什么
  • 鄂州网站推广优化技巧网络营销意思
  • 连锁酒店网站方案fastcomet wordpress
  • 网站建设与管理专业好不好就业做谷歌推广比较好的公司
  • 产品外观设计网站大连招聘网最新招聘