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

网站开发有什么软件有哪些seo优化网络公司排名

网站开发有什么软件有哪些,seo优化网络公司排名,沈阳专业网站制作团队,怎样做免费网站的推广1. 核心思想 工厂方法模式(Factory Method Pattern)将对象的创建过程延迟到子类。具体来说,定义一个创建对象的接口(抽象工厂),但由子类决定实例化哪个具体类。这种方式解耦了对象的创建和使用&#xff0c…

1. 核心思想

工厂方法模式(Factory Method Pattern)将对象的创建过程延迟到子类。具体来说,定义一个创建对象的接口(抽象工厂),但由子类决定实例化哪个具体类。这种方式解耦了对象的创建和使用,使系统更灵活、可扩展。
用大白话来说就是对象的接口就是USB接口,你要使用什么设备只要他是USB口的都可以接上去进行基本的使用。

2. 模式结构

角色作用示例
抽象产品定义产品的接口Animal接口
具体产品实现抽象产品的具体类Dog、Cat类
抽象工厂声明创建产品的方法AnimalFactory接口
具体工厂实现抽象工厂,生产具体产品DogFactory、CatFactory类

比如说抽象产品是油炸类,具体的产品就可以是炸豆腐,抽象工厂就可以是生产油炸食品,具体工厂就是生产炸豆腐工厂

3. 代码示例

PHP代码

<?php 
// 抽象产品 
abstract class Animal { abstract public function speak(); 
} // 具体产品 
class Dog extends Animal { public function speak() { return "汪汪!"; } 
} class Cat extends Animal { public function speak() { return "喵喵!"; } 
} // 抽象工厂 
abstract class AnimalFactory { abstract public function create_animal(); 
} // 具体工厂 
class DogFactory extends AnimalFactory { public function create_animal() { return new Dog(); } 
} class CatFactory extends AnimalFactory { public function create_animal() { return new Cat(); } 
} // 客户端使用 
$dog_factory = new DogFactory(); 
$dog = $dog_factory->create_animal(); 
echo $dog->speak(); // 输出:汪汪! 
echo "<br>"; $cat_factory = new CatFactory(); 
$cat = $cat_factory->create_animal(); 
echo $cat->speak(); // 输出:喵喵! 
?> 

python代码

# 抽象产品
class Animal:def speak(self):pass# 具体产品
class Dog(Animal):def speak(self):return "汪汪!"class Cat(Animal):def speak(self):return "喵喵!"# 抽象工厂
class AnimalFactory:def create_animal(self):pass# 具体工厂
class DogFactory(AnimalFactory):def create_animal(self):return Dog()class CatFactory(AnimalFactory):def create_animal(self):return Cat()# 客户端使用
dog_factory = DogFactory()
dog = dog_factory.create_animal()
print(dog.speak())  # 输出:汪汪!cat_factory = CatFactory()
cat = cat_factory.create_animal()
print(cat.speak())  # 输出:喵喵!

Java代码

// 抽象产品 
abstract class Animal { public abstract String speak(); 
} // 具体产品:狗 
class Dog extends Animal { @Override public String speak() { return "汪汪!"; } 
} // 具体产品:猫 
class Cat extends Animal { @Override public String speak() { return "喵喵!"; } 
} // 抽象工厂 
abstract class AnimalFactory { public abstract Animal create_animal(); 
} // 具体工厂:狗工厂 
class DogFactory extends AnimalFactory { @Override public Animal create_animal() { return new Dog(); } 
} // 具体工厂:猫工厂 
class CatFactory extends AnimalFactory { @Override public Animal create_animal() { return new Cat(); } 
} // 客户端使用 
public class Main { public static void main(String[] args) { AnimalFactory dogFactory = new DogFactory(); Animal dog = dogFactory.create_animal();  System.out.println(dog.speak());   // 输出:汪汪! AnimalFactory catFactory = new CatFactory(); Animal cat = catFactory.create_animal();  System.out.println(cat.speak());   // 输出:喵喵! } 
} 

4. 应用场景

需要动态扩展产品类型:例如新增一种动物(如Bird),只需添加Bird类和BirdFactory类,无需修改现有代码。
系统需要解耦:客户端只需依赖抽象接口(Animal和AnimalFactory),不关心具体实现。

5. 优缺点对比

优点缺点
符合开闭原则(扩展开放)类数量增加,代码复杂度高
解耦创建逻辑与业务逻辑需要为每个产品编写工厂类
支持多态和扩展

6. 对比简单工厂模式

简单工厂:一个工厂类集中创建所有产品(如AnimalFactory.create(“Dog”)),违反开闭原则。
工厂方法:每个产品对应一个工厂类,扩展时只需新增类,无需修改原有代码。

思维导图

在这里插入图片描述

http://www.dtcms.com/wzjs/328917.html

相关文章:

  • 个人个案网站 类型谷歌独立站推广
  • 网站建设冒用身份信息郑州网站运营专业乐云seo
  • 做网站找外包好吗图片优化
  • 东莞网站建设设计公司seo网站关键词优化工具
  • 元典科技网站建设怎么自己做一个网站
  • 衡水制作网站seo专员是指什么意思
  • 在线答题网站怎么做百度推广用户注册
  • 张家港建网站费用网页制作html代码
  • 做网站排名推广效果怎么样百度收录网址提交
  • 无锡专业网站排名推广单词优化和整站优化
  • 如何利用个人nas做网站最新seo视频教程
  • 旅游电商网站有哪些我是站长网
  • 晴天阴天雨天wordpress优化公司治理结构
  • 网站平台建设实训体会品牌推广的渠道有哪些
  • 湖州建设局新网站网站设计公司官网
  • 无锡网站建设公司网站排名优化公司
  • 素材网站哪个最好互联网推广公司排名
  • 天津网站开发tjniu网站手机优化
  • 黄页88网站关键词怎么做百度浏览器官网下载
  • 微软做网站的软件谷歌浏览器官方app下载
  • 福州网站建设工作室企业推广是什么意思
  • 内部优惠券网站建站搜索引擎营销分析
  • 高大上设计网站欣赏重庆百度seo排名
  • 做网站都需要用到什么网站外包一般多少钱啊
  • 承德 网站建设 网络推广 网页设计谷歌搜索引擎首页
  • 安徽省建设干部学校网站关停官网百度
  • 张家港建设局官方网站浏览器下载安装2022最新版
  • 网站开发建设总结营销型网站建设专家
  • 汽车网站建设的基本功能百度电脑版下载官方
  • 手机网站要求外链代发免费