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

高端的金融行业网站开发seo综合查询工具可以查看哪些数据

高端的金融行业网站开发,seo综合查询工具可以查看哪些数据,wordpress 关闭伪静态,栾川有做网站的吗一、基础概念 1.1、接口 简单的说:接口是【用来实现类的行为定义、约束类的行为】(即:定义可以做什么);接口可以包含【实例方法】、【属性】、【事件】、【索引器】或这四种成员类型的任意组合。 接口的优点&#xff1…

一、基础概念

 1.1、接口

        简单的说:接口是【用来实现类的行为定义、约束类的行为】(即:定义可以做什么)接口可以包含【实例方法】、【属性】、【事件】、【索引器】或这四种成员类型的任意组合

       接口的优点:可以将外部调用和内部实现隔离开;只要接口不变,内部实现的变化就不会影响到外部应用,从而使系统更加灵活,具有更好的拓展性和可维护性

        何时选用接口?(通常情况下优先使用接口)。

        何时选用抽象类?(既要定义子类的行为、又要为子类提供公共的功能时选抽象类)。

接口 - 定义多种类型的行为 - C# | Microsoft Learnhttps://learn.microsoft.com/zh-cn/dotnet/csharp/fundamentals/types/interfaces接口关键字 - C# reference | Microsoft Learnhttps://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/interface

 1.2、简单工厂

        工厂就是用来创造东西的(通常情况下工厂是用来创造接口对象的)  但是也可以用来创造抽象类,甚至是一个具体的类实例

        简单工厂方法的内部主要实现的功能是【选择合适的实现类】来创建实例对象,涉及到选择, 就需要选择的条件或参数(这些选择条件或参数可来源于客户端传入、配置文件传入或程序运行时的某个值传入) 这样要传入参数就会存在一个缺点【就是客户端必须要知道每个参数的含义(同时也需要理解每个参数对应的功能处理)】这样的话 就导致了在一定程度上给客户端暴露了内部的一些实现细节

简单工厂的命名:
        《类名称》:建议是【模块名称+Factory】(如接口名称是:ITestApi,则简单工厂类名称是:TestApiFactory);
        《方法名称》:建议是【Get+接口名称】、【Create+接口名称】或【Build+接口名称】  (如接口名称是:ITestApi,则简单工厂内对应的接口名称是:GetTestApi、CreateTestApi或BuildTestApi);

静态工厂:

        使用简单工厂的时候,通常不用创建简单工厂类的实例(没必要), 因此可以直接把简单工厂类实现为一个工具类(即:使用static修饰方法为静态的);而工厂的方法通常都是静态的,所以称其为静态工厂

简单工厂的优缺点
序号简单工厂优点简单工厂缺点
1帮助封装,让外部实现了真正的面向接口编程可能增加客户端的复杂度(即简单工厂是选择条件或参数来进行合适类对象的创建,对外会暴露细节,增加客户端使用难度)
2解耦,通过简单工厂,实现客户端与具体实现类的解耦不方便扩展子工厂

二、简单工厂示例

 2.1、常规接口使用方法

  1、先定义一个接口

/***
*	Title:"设计模式" 项目
*		主题:简单工厂
*	Description:
*	    基础概念:
*	        接口:(接口是【用来实现类的行为定义、约束类的行为】)
*	            1、接口里的所有方法都是【抽象方法】(注意:C#8.0以前方法只有定义没有实现; C# 8.0开始,接口可以定义其部分或全部成员的默认实现)
*	            2、接口里面的所有属性都是常量
*	            3、何时选用接口?【通常情况下优先使用接口】
*	            4、使用接口的好处【可以将外部调用和内部实现隔离开;只要接口不变,
*	                内部实现的变化就不会影响到外部应用,从而使系统更加灵活,具有更好的拓展性和可维护性】
*	            5、何时选用抽象类?【既要定义子类的行为、又要为子类提供公共的功能时选抽象类】
*		功能:
*		
*	Date:2025
*	Version:0.1版本
*	Author:Coffee
*	Modify Recoder:***/namespace SimpleFactory
{/// <summary>/// 定义一个接口(接口是通用的、抽象的、非具体的功能,定义行为/// 【简单的说:就是可以做什么】)/// </summary>public interface ITestApi{/// <summary>/// 定义了一个传入字符串的测试打印方法/// </summary>/// <param name="info">需传入的参数</param>void TestPrint(string info);}
}

  2、实现接口的测试类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SimpleFactory
{/// <summary>/// 实现接口的测试类/// </summary>internal class ImplTestApi : ITestApi{public void TestPrint(string info){if (string.IsNullOrEmpty(info)) { return; }string str = $"实现接口定义传递一个参数的打印方法,打印内容是:{info}";Console.WriteLine(str);}}//Class_end
}

  3、客户端调用

namespace SimpleFactory
{internal class Program{/// <summary>/// 客户端:测试使用ITestApi接口/// </summary>/// <param name="args"></param>static void Main(string[] args){Console.WriteLine("1-接口与实现类的示例");//仔细查看这里:我们只知到ITestApi接口,而不知道是哪个类实现了它,这样就得不到接口对象,无法使用接口,应该怎么办?ITestApi testApi=new ImplTestApi();testApi.TestPrint("你好,这是一个简单的测试");Console.ReadLine();}}//Class_end
}

  运行结果:

 2.2、简单工厂

1、再编写两个接口的实现类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SimpleFactory
{/// <summary>/// 实现ITestApi接口的对象A/// </summary>internal class ImplA : ITestApi{public void TestPrint(string info){//具体的实现功能代码string str = $"我是对象【A】实现的打印逻辑,打印内容是:{info}";Console.WriteLine(str);}}//Class_end
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SimpleFactory
{/// <summary>/// 实现ITestApi接口的对象B/// </summary>internal class ImplB : ITestApi{public void TestPrint(string info){//具体的实现功能代码if (info.Contains(',')){string[] tmpStr = info.Split(',');Console.WriteLine("我是对象【B】实现的打印逻辑,打印内容是:");foreach (string s in tmpStr){Console.WriteLine(s);}}}}//Class_end
}

 2、构建简单工厂

/***
*	Title:"设计模式" 项目
*		主题:简单工厂
*	Description:
*	    基础概念:
*	        工厂就是用来创造东西的(通常情况下工厂是用来创造接口对象的)
*	            但是也可以用来创造抽象类,甚至是一个具体的类实例
*	            
*	        《静态工厂》:使用简单工厂的时候,通常不用创建简单工厂类的实例(没必要),
*		              因此可以直接把简单工厂类实现为一个工具类(即:使用static修饰方法为静态的);
*		              而工厂的方法通常都是静态的,所以称其为静态工厂
*		    《万能工厂》:
*		        一个简单工厂可以包含很多构建东西的方法(这些方法可以创建不同的接口、抽象类或类示例)
*		        也就是说理论上一个简单工厂其实可以构建任何东西,因此又叫做万能工厂
*		        注意:虽然理论上简单工厂可以创建任何东西,但是实际使用中不建议简单工厂可创建对象的范围太大,
*		              建议是一个简单工厂控制在一个独立的模块内,这样使用起来才会职责清晰不混乱
*		            
*		    《简单工厂的命名》:
*		        《类名称》:建议是【模块名称+Factory】(如接口名称是:ITestApi,则简单工厂类名称是:TestApiFactory)
*		        《方法名称》:建议是【Get+接口名称】、【Create+接口名称】或【Build+接口名称】
*		        (如接口名称是:ITestApi,则简单工厂内对应的接口名称是:GetTestApi、CreateTestApi或BuildTestApi)
*		    
*		功能:
*		     简单工厂方法的内部主要实现的功能是【选择合适的实现类】来创建实例对象,涉及到选择,
*		     就需要选择的条件或参数(这些选择条件或参数可来源于客户端传入、配置文件传入或程序运行时的某个值传入)
*		     这样要传入参数就会存在一个缺点【就是客户端必须要知道每个参数的含义(同时也需要理解每个参数对应的功能处理)】这样的话
*		     就导致了在一定程度上给客户端暴露了内部的一些实现细节
*		     
*		     《优点》:
*		            1、帮助封装,让外部实现了真正的面向接口编程
*		            2、解耦,通过简单工厂,实现客户端与具体实现类的解耦
*		     《缺点》:
*		            1、可能增加客户端的复杂度(即简单工厂是选择条件或参数来进行合适类对象的创建,对外会暴露细节,增加客户端使用难度)
*		            2、不方便扩展子工厂
*	Date:2025
*	Version:0.1版本
*	Author:Coffee
*	Modify Recoder:***/using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SimpleFactory
{/// <summary>/// ITestApi接口的简单工厂(用于创建接口的实现对象)/// (解决:只知到ITestApi接口,而不知道是哪个类实现了它,这样就得不到接口对象,无法使用接口问题)/// </summary>internal class TestApiFactory{/// <summary>/// 构建ITestApi接口的实现类/// </summary>/// <param name="implObjNum">实现对象编号</param>/// <returns>返回创建好的ITestApi对象</returns>public static ITestApi BuildTestApi(int implObjNum){ITestApi testApi = new ImplTestApi();switch (implObjNum){case 0:testApi = new ImplTestApi();break;case 1:testApi = new ImplA();break;case 2:testApi = new ImplB();break;default:break;}return testApi;}}//Class_end
}

3、客户端调用

namespace SimpleFactory
{internal class Program{/// <summary>/// 客户端:测试使用ITestApi接口/// </summary>/// <param name="args"></param>static void Main(string[] args){Console.WriteLine("1-接口与实现类的示例");//仔细查看这里:我们只知到ITestApi接口,而不知道是哪个类实现了它,这样就得不到接口对象,无法使用接口,应该怎么办?ITestApi testApi=new ImplTestApi();testApi.TestPrint("你好,这是一个简单的测试");Console.WriteLine("\n2-学习设计模式——简单工厂");/**** 通过简单工厂来获取ITestApi接口对象* (这里客户端只知道通过简单工厂创建了一个接口的对象,面向接口编程:* 从客户端这里来看,它其实根本不知道具体的实现是什么,也不知道是如何实现的,* 它只知道通过工厂获得了一个接口对象,然后通过这个接口来获取想要的功能)* * 在这里通过简单工厂帮助我们真正的面向接口编程,* 上面的【接口与实现类的示例】做法,只用到了接口的多态功能;* 而最重要的【封装隔离性】并没有体现出来* ***/ITestApi testApi1 = TestApiFactory.BuildTestApi(0);testApi1.TestPrint("你好,这是一个简单的测试");testApi1=TestApiFactory.BuildTestApi(1);testApi1.TestPrint("你好,这是一个简单的测试");testApi1 = TestApiFactory.BuildTestApi(2);testApi1.TestPrint("你好,这是一个简单的测试");Console.ReadLine();}}//Class_end
}

 运行结果

工厂模型概述 - ADO.NET | Microsoft Learnhttps://learn.microsoft.com/zh-cn/dotnet/framework/data/adonet/factory-model-overview 

三、项目源码工程

kafeiweimei/Learning_DesignPattern: 这是一个关于C#语言编写的基础设计模式项目工程,方便学习理解常见的26种设计模式https://github.com/kafeiweimei/Learning_DesignPattern

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

相关文章:

  • 武汉网站建设网站建设友链交换平台源码
  • 做ppt用的音效网站对网络营销的认识
  • 大型网站建设规范网址如何下载视频
  • 天津建设工程信息网b1新北路站疫情防控最新政策
  • 优秀设计集锦网站香港百度广告
  • 房山成都网站建设什么叫外链
  • 影响网站alexa排名的主要因素有百度快速优化软件排名
  • 网站上做皮肤测试开发网站的流程是
  • 专业做网站的公司哪家好运营推广计划
  • 品牌网站制作流程图百度推广怎么收费标准案例
  • 如何和其他网站做友情链接seo技术博客
  • 张家口网站开发最近新闻头条最新消息
  • 中国企业库济南网站优化排名
  • 江苏纬信网站建设nba最新消息球员交易
  • 软件开发工具的作用广东企业网站seo哪里好
  • wordpress如何清空关键词在线优化
  • wordpress publish网站关键词优化排名技巧
  • 哪里有免费的网站自己做网络公关公司收费
  • 百度网站标题优化西安网站建设公司电话
  • 建立旅游公司网站多钱网络营销包括几个部分
  • 如何自己建立网站建设农技推广
  • 政府门户网站模板怎样在百度上发布广告
  • wordpress 站点身份软件推广方案经典范文
  • 上海 松江 网站制作微信运营技巧
  • wordpress+克隆插件宁波seo搜索优化费用
  • 河南新闻网seo推广教学
  • 企业网站建设杭州青岛疫情最新情况
  • 不用写代码可以做网站的软件如何推广seo
  • 网站建设与管理技术发展长沙建站seo公司
  • 大连网站建设辽icp备网络营销课程设计