C#知识|认识简单工厂的设计模式

哈喽,你好啊,我是雷工!
最近了解到一个概念信创,即信息技术应用创新产业,是国产化的一个阶段,为了实现信息技术自主可控,规避被外部卡脖子的风险;
随着信创产业的发展,逐步国产化,那么学习C#还有意义么?
我觉得信创是一个长期的过程,并不可能一蹴而就的达到;
而且我们学习一个技术,一门语言并不单纯是学习这一语法,更多的是编程思想,是学习方法;
并不能因为十几二十年后可能就不用了就放弃学习,当我们拥有了成熟的编程思想和掌握了科学的适合自己的学习方法,哪怕以后的科技再怎么变化,我们也能更快的适应,任何东西的学习都不可能毫无用处,总是会有价值的。
以后哪怕出现一个国产编程语言,肯定也不是凭空出现,也会借鉴现在比较流行的编程语言中的精华。
你说呢?
接下来继续学习C#中的简单工厂模式,以下为简单的笔记。

01 工厂的概念

在软件中,工厂是用于创建对象的;

02 接口的使用

正常的接口使用:
接口变量=接口实现类对象
示例:
IAccount account= new Account(){Name=" 雷工笔记"};

03 工厂的使用

3.1、定义接口
3.2、接口实现
3.3、编写工厂
①:配置文件
App.config文件是应用程序配置文件,你可以把程序配置的相关信息,都保存到这个文件中;
< appSettings >
   < add key =" accountC" value =" Account" />
</ appSettings >
注意事项:
节点名称严格区分大小写,不可以写错,而且要严格遵循xml的规范;
程序中通过以下语句读取
private static string accountC= ConfigurationManager.AppSettings[" accountC"].ToString();
②:添加引用
添加引用System.Configuration;
同时在应用的类中添加命名空间using System.Configuration;
③:编写方法
编写对象工厂的方法,返回具体的接口对象;

04 错误情况

若程序运行报错:***的类型初始设定项引发异常,那么肯定是配置文件出错,需要检查配置文件;
解决办法:
①:检查设置的节点和读取的节点名称是否一致,是否有多空格的情况;
②:App.config文件中节点 <appSettings>不可以写错,缺少字母也会报错;
③:若配置文件内容比较多时,注意 <appSettings>不要放错位置,若放到其他节点中,或者外部也会报错;

05 工厂的好处

①:对象的使用这完全不用关心对象是如何创建的,实现了完全解耦;
②:用户需求变化的时候,通过配置文件的修改可以轻松实现对象的替换;

06 后记

以上初步认识简单工厂的模式,
抛砖引玉,欢迎大佬评论,更多相关内容也可以在交流群内探讨;

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

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

相关文章

[附源码]宠物领养管理系统+SpringBoot

今天带来一款优秀的项目&#xff1a;宠物领养管理系统源码 。 系统采用的流行的前后端分离结构&#xff0c;内含功能包括"管理端"&#xff0c;“用户领养端”&#xff0c;“宠物管理”&#xff0c;“权限登录”等功能。 如果您有任何问题&#xff0c;也请联系小编&a…

高密原型验证系统解决方案(上篇)

0 引言 随着当今 SoC 设计规模的快速膨胀&#xff0c;仅仅靠几 颗当代最先进的 FPGA 已经无法满足原型验证的需求。简单的增加系统的容量&#xff0c;会遇到系统时钟复位同 步&#xff0c;设计分割以及高速接口和先进 Memory控制器 IP 验证等多重困难。此时&#xff0c;一个商用…

解决docker目录内存不足扩容处理

当我们使用docker时&#xff0c;经常会创建新镜像和新容器&#xff0c;在新容器中又会安装各种包&#xff0c;这些东西不是虚拟的&#xff0c;而是实实在在存于我们的磁盘中&#xff0c;默认在/var/lib/docker中&#xff0c;这个目录是属于系统盘的&#xff0c;而系统盘的空间往…

Spring Boot房屋租赁平台:现代化解决方案

1 绪论 1.1 研究背景 中国的科技的不断进步&#xff0c;计算机发展也慢慢的越来越成熟&#xff0c;人们对计算机也是越来越更加的依赖&#xff0c;科研、教育慢慢用于计算机进行管理。从第一台计算机的产生&#xff0c;到现在计算机已经发展到我们无法想象。给我们的生活改变很…

OpenHarmony标准系统mipi摄像头适配

OpenHarmony标准系统mipi摄像头适配 本文档以rk3568为例&#xff0c;讲述如何在OpenHarmony 标准系统rk设备上适配mipi摄像头。 开发环境 OpenHarmony标准系统4.1rrk3568设备摄像头ov5648,ov8858 文档约定&#xff1a;4.1r_3568为OpenHarmony标准系统源码根目录 1.适配准备:得…

DAMODEL丹摩智算平台实践CogVideoX

文章目录 前言 一、平台账号注册并登录 二、部署CogVideoX &#xff08;一&#xff09;简介 &#xff08;二&#xff09;部署 1. 创建实例 2. 配置环境和依赖 3.预制模型与配置文件 三、开始运行 总结 前言 该文章主要记录DAMODEL丹摩智算平台实践过程与心得体会&…

virtualbox中的网络模式,网络设置,固定IP

virtualbox关于网络设置的文档&#xff1a;https://www.virtualbox.org/manual/topics/networkingdetails.html#networkingdetails DHCP Dynamic Host Configuration Protocol&#xff1a;动态主机配置协议&#xff0c;是专门用来给网络中的节点分发IP地址&#xff0c;确保每…

如何开发数字药店与医保购药APP:技术架构与实现细节

本文将深入探讨数字药店与医保购药APP的技术架构及其实现细节&#xff0c;帮助开发者更好地理解该领域的技术需求。 一、技术架构概述 数字药店与医保购药APP的技术架构通常可以分为以下几个层次&#xff1a; 1.前端层&#xff1a; -用户界面 -用户体验 2.中间层&#xff…

尚品汇-自动化部署-Jenkins的安装与环境配置(五十六)

目录&#xff1a; 自动化持续集成 &#xff08;1&#xff09;环境准备 &#xff08;2&#xff09;初始化 Jenkins 插件和管理员用户 &#xff08;3&#xff09;工作流程 &#xff08;4&#xff09;配置 Jenkins 构建工具 自动化持续集成 互联网软件的开发和发布&#xf…

善康医药上市梦终止:持续亏损1.77亿现金流为负,预估值超50亿存疑

《港湾商业观察》施子夫 6月29日&#xff0c;深圳善康医药科技股份有限公司&#xff08;以下简称&#xff0c;善康医药&#xff09;披露第一轮审核问询函的回复意见。 9月24日&#xff0c;因善康医药及其保荐人国金证券股份有限公司撤回发行上市申请&#xff0c;上交所终止科…

微信小程序开发第八课

一 公告 1.1 微信小程序端 #js###const api require("../../config/settings.js") Page({data: {noticeList: [{title: 公告标题1,create_time: 2024-04-25,content: 公告内容描述1&#xff0c;公告内容描述1&#xff0c;公告内容描述1。, // 可以根据实际情况添加…

Spring 核心

Spring 核心 这篇文章&#xff0c;我们换个思路来学习&#xff0c;来践行一下以始为终&#xff0c;以面试题为引来重温一下Spring&#xff0c;毕竟孔子曾说&#xff0c;“温故而知新&#xff0c;可以为师矣。” &#xff0c;可以通过这个链接看看有哪些常见的面试题 Spring 面…

架构师案例思路:架构设计(附真题)

目录 案例题目规则 架构设计案例分析 知识总纲(理解并背诵) 架构风格(理解并背诵) 质量属性(理解并背诵) 性能 可靠性 可用性 可修改性 功能性 可变性 互操作性 架构评估(理解并背诵) 具体架构风格(理解) 层次架构 两层C/S架构 三层C/S架构 B/S架构…

使用 Nuxt Kit 的构建器 API 来扩展配置

title: 使用 Nuxt Kit 的构建器 API 来扩展配置 date: 2024/9/24 updated: 2024/9/24 author: cmdragon excerpt: 摘要:本文详细介绍了如何使用 Nuxt Kit 的构建器 API 来扩展和定制 Nuxt 3 项目的 webpack 和 Vite 构建配置,包括扩展Webpack和Vite配置、添加自定义插件、…

简单学习 原码反码补码 学会了你才是真正的程序员了

一、简单介绍原码反码补码 首先我们需要知道的是原码反码补码是一个人为的行为&#xff0c;因为机器看的都是所谓的补码&#xff0c;这个反码只是作为补码的到原码也就是人能看懂的跳板&#xff0c;所以计算机无论是计算器里面的东西还是他底层运行的二进制代码都是补码&#x…

思科认证难考吗?思科认证备考方法与技巧分享

思科认证在IT行业具有广泛的认可度&#xff0c;表明持有者拥有专业的技术能力水平&#xff0c;对未来的升职加薪有很大帮助。但在考思科认证之前很多人都担心“思科认证难考吗”这个问题&#xff0c;实际上这主要看你考的认证等级&#xff0c;ccna、ccnp等。此外&#xff0c;考…

代码随想录算法day40 | 动态规划算法part13 | 647. 回文子串,516.最长回文子序列

647. 回文子串 动态规划解决的经典题目&#xff0c;如果没接触过的话&#xff0c;别硬想 直接看题解。 力扣题目链接(opens new window) 给定一个字符串&#xff0c;你的任务是计算这个字符串中有多少个回文子串。 具有不同开始位置或结束位置的子串&#xff0c;即使是由相同的…

2024/9/25 英语每日一段

“Banning phones or social media is something parents often do as a form of punishment, me included. But in doing so you make the phone even more important, taking on this totemic importance in your child’s eyes,” she says. Goodin says that young people …

基于springboot+vue超市管理系统

基于springbootvue超市管理系统 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本无人超市管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助使用者在…

CNN网络训练WISDM数据集:模型仿真及可视化分析

卷积神经网络&#xff08;CNN&#xff09;因其强大的特征提取能力和深度学习架构而备受推崇&#xff0c;CNN在处理图像数据时展现出的卓越性能&#xff0c;使其成为解决各种视觉识别任务的首选工具。WISDM数据集是一个广泛用于运动估计研究的基准数据集&#xff0c;它包含了多个…