深圳做网站-信科网络网站建设费属于什么税目

diannao/2026/1/16 16:01:07/文章来源:
深圳做网站-信科网络,网站建设费属于什么税目,小程序商店头像,国外vps做网站测速三、工厂模式 通俗解释#xff08;理解记忆#xff09; 假设我们有一个汽车工厂。我们可以让工厂根据用户的选择生产不同型号的汽车#xff0c;而用户无需知道具体的汽车制造过程。 工厂模式的优势在于#xff0c;它隐藏了对象的创建细节#xff0c;让客户端代码更简洁…三、工厂模式 通俗解释理解记忆  假设我们有一个汽车工厂。我们可以让工厂根据用户的选择生产不同型号的汽车而用户无需知道具体的汽车制造过程。 工厂模式的优势在于它隐藏了对象的创建细节让客户端代码更简洁同时使得系统更容易扩展。如果有新的汽车型号加入只需要在工厂中添加相应的生产逻辑而不需要修改客户端代码。 // 接口或基类 class Car {constructor(model) {this.model model;}displayInfo() {console.log(This is a ${this.model} car.);} }// 具体实现类 class Sedan extends Car {constructor() {super(Sedan);} }class SUV extends Car {constructor() {super(SUV);} }// 工厂 class CarFactory {createCar(type) {switch (type) {case sedan:return new Sedan();case suv:return new SUV();default:throw new Error(Invalid car type);}} }// 客户端代码 const factory new CarFactory();const sedanCar factory.createCar(sedan); sedanCar.displayInfo(); // 输出: This is a Sedan car.const suvCar factory.createCar(suv); suvCar.displayInfo(); // 输出: This is a SUV car.Car 是一个基类而 Sedan 和 SUV 是具体的实现类。CarFactory 是工厂类根据传入的类型创建相应的汽车实例。客户端代码只需要调用工厂的方法而不需要关心具体的汽车实现类。 对比一下如果不使用工厂模式 // 没有使用工厂模式的代码 class Sedan {constructor() {this.model Sedan;}displayInfo() {console.log(This is a ${this.model} car.);} }class SUV {constructor() {this.model SUV;}displayInfo() {console.log(This is a ${this.model} car.);} }// 客户端代码 const sedanCar new Sedan(); sedanCar.displayInfo(); // 输出: This is a Sedan car.const suvCar new SUV(); suvCar.displayInfo(); // 输出: This is a SUV car.客户端直接实例化了 Sedan 和 SUV导致客户端代码与具体的汽车类耦合在一起。如果需要添加新的汽车类型客户端代码就需要修改不符合开闭原则。开闭原则是面向对象设计中的一个原则指的是一个软件实体类、模块、函数等应该对扩展开放对修改关闭。简单来说当需要添加新功能时应该通过扩展现有代码来实现而不是直接修改已有的代码。 现在假设要添加一种新的汽车类型比如电动车客户端代码就需要修改   class ElectricCar {constructor() {this.model Electric Car;}displayInfo() {console.log(This is an ${this.model}.);} }// 修改客户端代码 const electricCar new ElectricCar(); electricCar.displayInfo(); // 输出: This is an Electric Car.如果使用工厂模式添加新的类型 // 定义汽车接口 class Car {displayInfo() {} }// 具体的 Sedan 汽车类 class Sedan extends Car {constructor() {super();this.model Sedan;}displayInfo() {console.log(This is a ${this.model}.);} }// 具体的 SUV 汽车类 class SUV extends Car {constructor() {super();this.model SUV;}displayInfo() {console.log(This is an ${this.model}.);} }// 新的 ElectricCar 汽车类 class ElectricCar extends Car {constructor() {super();this.model Electric Car;}displayInfo() {console.log(This is an ${this.model}.);} }// 汽车工厂 class CarFactory {createCar(type) {switch (type) {case Sedan:return new Sedan();case SUV:return new SUV();case ElectricCar:return new ElectricCar();default:throw new Error(Invalid car type.);}} }// 客户端代码 const carFactory new CarFactory();// 使用工厂创建 Sedan const sedan carFactory.createCar(Sedan); sedan.displayInfo(); // 输出: This is a Sedan.// 使用工厂创建 SUV const suv carFactory.createCar(SUV); suv.displayInfo(); // 输出: This is an SUV.// 使用工厂创建 ElectricCar const electricCar carFactory.createCar(ElectricCar); electricCar.displayInfo(); // 输出: This is an Electric Car.优点 封装对象创建过程 工厂模式将对象的创建过程封装在工厂类中使客户端无需关心对象的具体创建细节提高了代码的封装性。 降低耦合性 客户端代码与具体产品类解耦通过工厂类创建对象减少了对具体类的依赖降低了系统的耦合性。 易于扩展 新增产品类只需扩展工厂类无需修改客户端代码符合开闭原则使系统更易于扩展。 统一管理 工厂模式可以统一管理对象的创建集中控制有利于维护和管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wordpress产品页面新手如何做网站优化

我是ros1...但是下载的包好像适用于ros2 合适的下载地址: ROS1 打开图中所选地址 https://github.com/IntelRealSense/realsense-ros/blob/ros1-legacy/README.md#installation-instructions 版本选择ros1 下载到对应位置即可

菏泽网站建设优惠臻动传媒商丘加盟小吃网站

谷歌guava番石榴 这是我尝试解释和探索Google很棒的Guava java库的系列文章中的第一篇。 我在搜索Apache Commons Collections的通用版本时遇到了番石榴(Guava)–我需要一个Bimap并且厌倦了必须使用强制类型转换来填充我的代码–但是我发现要好得多。 …

南昌网站开发商哪家强网站备案需要费用吗

msvcp140.dll 文件是 Microsoft Visual C 运行时库的一部分,具体来说它是 Visual Studio 2015 版本编译的C应用程序所依赖的一个动态链接库(DLL)文件。这个 DLL 文件包含了大量由Microsoft开发的标准C库函数,这些函数对于许多在Wi…

随州网站设计开发方案在线装修网

并行数据库流 在我以前的文章中 ,我写了关于使用并行流和Speedment并行处理数据库内容的信息。 在许多情况下,并行流可能比通常的顺序数据库流快得多。 线程池 Speedment是一个开源的Stream ORM Java工具包和Runtime Java工具,它将现有的数…

网站建设工单系统护语贵州专业网站建设

目录 Tomcat概念 核心组件 Web容器 Web服务器之间解析请求的区别 Apache HTTP Server Nginx Tomcat Servlet容器 JSP容器 字节码文件 Tomcat表面处理请求的过程 Tomcat底层处理请求的过程 内部结构 Tomcat部署 JRE环境配置 PATH冒号位置的区别 安装Tomcat 目…

怎样进入外贸公司网站曲靖企业网站

不知道你有没有看过凯瑟琳泽塔琼斯主演的《偷天陷阱》,里面主题思想是用银行结算系统的千年虫bug,精心设计,盗取银行几十亿的精彩动作片。所谓2000 年千禧年的千年虫,其实就是计算机计算闰年的bug。 这个闰年计算的历史源远流长&…

怎么用flash做视频网站如何注册公司企业邮箱

Fedora 36今天发布,这是最近一段时间以来又一个强大、前沿而又稳定可靠的Linux发行版本,除了这些特点外,Fedora 36还在原先的基础上增加了新的功能和细节打磨。 Fedora 36使用GNOME 42作为其默认的Fedora工作站桌面环境。 OpenSSL 3.0&#x…

免费微信网站制作便民的网站app怎么做

这也许是你一直期待的文章,在关注这部分技术问题的同时,请务必阅读有关面试中有关个人的问题和解答。和猎萝卜小编来一起了解。这里的回答并不是十分全面,这些问题可以通过多个角度来进行解释,也许你不必在面试过程中给出完全详尽…

美团网网站建设分析陕西省建设监理协会官网站

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 带有动画效果的折叠面板(Accordion)⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个…

网站建设考虑事项做信公众号首图的网站

通过IP地址定位,可以获取一些基本的信息,包括以下内容: 1. 地理位置:你可以确定IP地址所在的地理位置,包括国家、州或省、城市和地理坐标。这通常是通过将IP地址与地理位置数据库进行匹配来实现的。 2. ISP&#xff…

云建设网站怎样建立俄罗斯网站

Hello,今天我们分享一些关于C入门的知识,看完至少让你为后面的类和对象有一定的基础,所以在讲类和对象的时候,我们需要来了解一些关于C入门的知识。 什么是C C语言是结构化和模块化的语言,适合处理较小规模的程序。对…

洛阳php网站开发什么是域名系统 网站建设教程

2014-02-0610325 0C# 檢舉文章 過年結束了,雖然還是學生所以其實還有兩個禮拜的假期,不過為了不讓自己發慌,趁著假期多利用充實自己,所以提早回到開工狀態,而這次總算要把一直說的自己動手繪製猜色直方圖文章寫出。 …

药学专业网站wordpress全是博客

迁移的初衷本人平时是做.net相关的工作,对于.net技术栈也有一些了解,自从新的.net能够跨平台之后,之前也有跨平台的ui框架Xamarin,现在微软推出了.NET MAUI这个说是 统一了开发体验,而且都RC版本了,所以本人…

网站改版设计思路网站建设安全性

转载于:https://www.cnblogs.com/dabaopku/archive/2012/05/08/2490164.html

怎么创建一个公司网站wordpress session 表

1 简介 开发者通过调用Camera Kit(相机服务)提供的接口可以开发相机应用,应用通过访问和操作相机硬件,实现基础操作,如预览、拍照和录像;还可以通过接口组合完成更多操作,如控制闪光灯和曝光时间、对焦或调焦等。 2 …

湖南平台网站建设公司酒店预订网站模板

同时两个朋友发来的,打开了还挺有意思。在新年到来的最后一天,收到这个小小的礼物还是很高兴,说明人家还记得你,常说君子之交淡如水,水其实我们不缺,我们往往缺的就是一句小小的问候,并且在一个…

做网站代理商好赚吗?网站建设与管理 期末

XML Schema中的elementFormDefault,用以指明xml的元素是否必须有命名空间的前缀。 它的取值可以为qualified、或者unqualified。默认值为unqualified。 当取值为qualified时,xml元素前必须有命名空间作为前缀; 当取值为unqualified时&#x…

河北建设厅录入业绩的网站wordpress移动端页面

无需转发 免费获取2023国赛模板,获取方式见文末 模板文件预览如下: 模板参考格式如下: (题目)XXXXXX 摘 要: 开头段:需要充分概括论文内容,一般两到三句话即可,长度控…

太仓做网站的公司息县网站建设

kotlin提供了过滤集合很方便过滤集合中特定的元素 1 如果是同一种类型的操作,建议使用filter 或者是partition 例如过滤出字符长度大于3的元素 使用partition val numbers listOf("one", "two", "three", "four")val …