![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 66
王卫——David
CSDN博客专家 阿里云专家博主 Java领域优质创作者
展开
-
N-S图详解
N-S图首先N-S图是一种特殊的流程图,去掉了传统流程图中的流程线,并将全部的算法都写在了一个矩形阵类,在框内还可以包含其他框的流程图形式。程序的基本结构与N-S图我们都知道程序的基本结构是顺序结构、分支结构和循环结构。所有的程序都是由这三个基本结构组成,通过三种结构不断嵌套,最终形成系统性强,结构紧密的程序。所以掌握了最基础的三种结构,以及掌握了三种结构的不断嵌套,那么你就是一个合格的开发人员了。而N-S图正是我们梳理三种结构的有效工具,与传统的带流程线的流程图相比具有:1.能够表示嵌套关系以及模原创 2022-01-02 20:06:39 · 15215 阅读 · 5 评论 -
设计模式-建造者模式
一、定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示简单来说:建造者模式,将一个产品的内部表象与产品的生成过程分隔开,从而可以使一个建造过程生成具有不同的内部表象的产品对象。如果我们使用建造者模式,那么用户就只需要指定需要建设的类型就可以得到他们,而具体建造的过程和细节就不需要知道Director:指挥者,是构建一个使用Builder接口的对象Builder:是为创建一个Product对象的各个部件指定的抽象接口ConcreteBuilder:具体建造者,实现Bui原创 2021-12-30 20:32:57 · 369 阅读 · 0 评论 -
CSS-阶段总结
CSS阶段总结HTML简介完成的HTML页面格式什么是CSSCSS语法id和Class选择器CSS盒子模型CSS块级元素行级元素改变元素显示CSS标准流CSS定位CSS 相对定位(relative定位)CSS绝对定位(absolute定位)CSS浮动HTML简介现阶段理解:HTML(Hyper Text Markup Language)是用来描述网页的一种语言,超文本标记语言,不是一种编程语言,而是一种标记语言,标记语言是一套标记标签,标签是由尖括号包围的关键词。如和成对出现,第一个标签为开始标签,第二原创 2021-11-17 07:55:05 · 200 阅读 · 1 评论 -
设计模式-命令模式
命令模式一、概念①什么是命令模式②为什么使用命令模式③如何使用命令模式类图实例类图代码客户端服务员烧烤者抽象命令类具体命令类一、概念①什么是命令模式将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对讲求排队或记录请求日期,以及支持可撤销的操作。②为什么使用命令模式1.能够容易的将命令写入日志,加入新的具体命令类比较容易2.可以容易的实现对请求的撤销和重做。3.将一个操作的对象与知道怎么执行一个操作的对象分开。③如何使用命令模式在具体命令类的方法里面调用执行者,而在请求者的方法原创 2021-10-24 21:25:36 · 761 阅读 · 2 评论 -
机房合作-策略模式实现用户充值
策略模式实现用户充值一、概念①什么是策略模式?②如何使用策略模式?③为什么要使用策略模式?类图实战、策略模式实现用户充值类图代码实现Context类RechargeStrategy类StrategyReturn类业务逻辑实现层一、概念①什么是策略模式?Strategy:它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化不会影响到使用算法的用户。②如何使用策略模式?将每个算法都封装起来、定义一个策略类并且在策略类中定义一个所有算法的公共接口、定义一个context类用来维护对原创 2021-10-16 14:30:34 · 215 阅读 · 3 评论 -
机房合作-职责链模式实现用户登陆
职责链模式实现用户登陆一、概念①什么是职责链模式②如何使用职责链模式(chain of responsibility)③什么时候使用职责链模式④为什么要使用职责链模式二、类图三、实战 使用职责链模式实现登陆①类图实现代码HandlerLgoin类PassWordHandler类ActivationHandler类OnlineHandler类ActivationHandler类业务逻辑层一、概念①什么是职责链模式Chain of Responsibility :使用多个对象都有机会处理请求,从而避免请求原创 2021-10-15 15:15:01 · 196 阅读 · 2 评论 -
备忘录模式-实现撤销功能
设计模式-备忘录模式一、概念①什么是备忘录模式②备忘录模式主要解决了什么问题③备忘录如何解决这个问题的④主要符合哪种设计原则二、备忘录模式类图三、实战演练,管理员修改基础数据实现撤销功能。①类图②代码实现PriceOriginator类PriceMemento类PriceCaretaker类业务逻辑层应用保存对象状态实现撤销一、概念①什么是备忘录模式在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。在需要的时候可以将对象恢复到原来保存的状态。②备忘录模式主要解决了什么问题原创 2021-10-13 17:13:25 · 444 阅读 · 2 评论 -
设计模式——创建型模式
设计模式——创建型模式设计模式分类创建型结构型行为型创建型模式创建型模式分类单例模式图与代码的对应(图和代码皆引用自大话设计模式)要点使用场景原型模式图和代码的对应(图和代码皆引用自大话设计模式)要点应用场景建造者模式设计模式分类创建型创建型模式设计到将对象实例化,这类模式都提供一个方法,将客户从所需实例化的对象中解耦结构型结构型模式可以让你把类或对象组合到更大的结构中。行为型行为型,都设计到类和对象如何交互及分配职责创建型模式创建型模式分类解读:为什么将创建型模式分为直接和间接???原创 2021-08-20 08:03:48 · 177 阅读 · 3 评论 -
常见代码命名规范
常见代码命名规范目的命名总体规则常用命名方法Pascal(帕斯卡)命名法Camel命名法常见运用场所目的为了统一软件开发过程中的编码规范,保证代码的一致性,便于交流和维护。命名总体规则• 名字应该能够表示事物的特性,并且与业务挂钩• 名字一律使用英文单词,不能使用拼音• 名字单词不应多余四个,控制在3-30个字母以内常用命名方法Pascal(帕斯卡)命名法所有单词的首字母都大写,其他字母小写Camel命名法除首字母外,其他单词的首字母大写,其他字母小写常见运用场所...原创 2021-07-24 16:32:12 · 337 阅读 · 6 评论 -
设计模式——访问者模式
访问者模式概念图代码概念①、什么是访问者模式表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变个元素的类的前提下定义作用于这些元素的操作转:②、访问者模式中例子为什么是男人、女人呢,与访问者是什么关联呢,谁是访问者,谁是被访问者?个人理解:我们将对象结构看成是一个“房间”,将男人女人实例化到对象结构中去,可以看做是在对象结构这个“屋子”中放入一个男人,一个女人,他(她)们的身份是被访问者。此时状态(成功)作为访问者进入房间后依次访问男人、女人并实现他们;随后状态(失败)也作为一个访问者去原创 2021-06-30 20:39:26 · 125 阅读 · 6 评论 -
C# 机房重构单例模式
机房重构单例模式前言单例模式实例前言 在进行机房重构时,会出现每点击一次“实例化窗体按钮”,就会出现一个窗体,这样点击多次就会出现很多个窗体。怎么解决这个问题呢?这儿就需要用到设计模式中的单例模式了。单例模式单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。设计模式书上说:通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让泪自身负责保存它的唯一实例。这个类可以保证没有其他势力可以被创建,并且他可以提供一个访问该实例的方法。要点:1.这原创 2021-06-30 20:08:20 · 182 阅读 · 5 评论 -
设计模式——模板方法模式
设计模式——模板方法模式概念图代码概念①、什么是模板模式?定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模块方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。简单来说:模块方法模式是通过把不变行为搬移到超类,去除子类的重复代码来体现它的优势。②、主要解决什么问题一些通用的方法,却在每一个子类都重写了这一类方法③、如何解决?将这些通用算法抽象出来④、优缺点优点:提供了一个分号的代码复用平台帮助子类拜托重复的不变行为的纠缠封装不变部分,扩展可变部分缺点:原创 2021-05-31 21:32:32 · 222 阅读 · 5 评论 -
设计模式——代理模式
设计模式——代理模式概念图代码类图关系与代码展示概念①、什么是代理模式为其他对象提供一种代理以控制对这个对象的访问通俗点来说就是 通过一个共同的方法,将你对对象的真实请求交给proxy完成②、主要解决什么问题在某些情况下,一个客户类不想或不能直接引用一个委托对象③、如何解决?在客户类和委托对象之间增加一个中介者对象④、优缺点优点在符合开闭原则的情况下对目标对象进行功能扩展缺点为每一个服务都得创建代理类,工作量太大,不易管理。同时接口一旦发生变化,代理类也得相应修改图Subje原创 2021-05-31 21:28:51 · 184 阅读 · 5 评论 -
设计模式——装饰模式
设计模式——装饰模式概念图实例类图关系展示概念①、什么是装饰模式动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活。②、解决什么问题?需要动态添加一些额外的职责,解决子类数据过多③、怎么解决通过Decorator装饰类一层一层对具体对象进行装饰④、什么时候使用可以动态添加或删除对象的职责,并使得需要装饰得具体组件类和具体装饰类可以独立变化,以便增加新的具体组件类和具体装饰类。⑤、优缺点优点装饰模式与继承关系得目的都是要扩展对象得功能,但是Decorator原创 2021-05-31 21:25:19 · 187 阅读 · 4 评论 -
三层架构——三层登录
三层登录前言什么是三层架构①、表示层(UI)②、业务逻辑层(BLL)③、数据访问层(DAL)为什么要使用三层架构正文三层登录实例图代码UI层BLL层实体层(Moudel)DAL层前言 什么是三层架构 把各个功能模块,很为表示层(UI)、业务逻辑层(BLL)、和数据访问层(DAL)各层之间采用接口相互访问,并通过对象模型的实体类(Model)作为数据传递的载体。①、表示层(UI) 与用户交互的界面,用于接收用户输入的数据和返回用户需要的数据②、业务逻辑层(BLL) 负责连接UI层和DAL层可原创 2021-02-07 15:36:29 · 1267 阅读 · 29 评论 -
C# 接口
什么是接口:一种规范,一种能力关键字 interface定义一个接口,添加类通常以英文字母I开头interface IFly { void IFly(); }实例:调用接口中的方法 class Program { static void Main(string[] args) { Teacher t = new Teacher(); t.IFly();原创 2020-11-27 16:23:20 · 1164 阅读 · 25 评论 -
C# 泛型集合和非泛型集合(List ArrayLIst)
目录ArrayLIst非泛型集合List泛型集合List<>与ArrayList对比ArrayLIst非泛型集合1.使用非泛型集合之前需要注意调用System.Collections2.非泛型集合在使用的时候对于集合中的元素没有明确的类型要求3.非泛型集合具有动态大小,可以根据数据量的多少调整大小//命名空间using System.Collections//创建ArrayLIst集合ArrayList list = new ArrayList();//添加元素 可以是任意原创 2020-11-10 15:34:26 · 1190 阅读 · 19 评论 -
C# 里氏代换原则
文章目录什么是里氏代换原则类型转换关键字is/as转换什么是里氏代换原则 通俗来讲:“派生类(子类)对象可以在程式中代替其基类(超类)对象。里氏代换原则是实现开闭原则的重要方式之一,由于使用基类对象的地方都可以使用子类对象,因此再程序中尽量使用基类类型来对对象进行定义,而在运行时再确定子类类型,用子类对象来替换父类对象。类型转换显示转换:父类对象转换为子类对象使用强制转换 case1Person p =new Teacher();Teacher t =(Teacher)p;//强制转换t.原创 2020-11-08 14:55:31 · 558 阅读 · 16 评论 -
VS2019.NetCore智能提示英文改为中文
智能提示是很重要的,英文版的看不懂,就需要转换成中文。1.官网下载IntelliSense语言包2.解压文件夹,找到文件夹VS2019安装时默认的地址C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1选择自己需要的框架,这儿选择的是.NetCore框架的语言包。3.将zh-hans文件复制粘贴到地址中5.重启VS2019...原创 2020-10-24 20:26:11 · 2222 阅读 · 23 评论 -
C#视频 飞行棋
C# 飞行棋就是对之前所学的一个运用,最主要的使用了方法,方法的调用。飞行棋这个例子,只要理解了他的逻辑关系,每一步做什么,下一步做什么,就比较好掌握和理解。下面是做出来的效果其中最难的就是掷骰子这步了,到了特定的格子实现格子功能,这一点是这个程序中最难得一点了。 public static void RowTouZi(int playerPos) { Random r = new Random(); int num = r.Next原创 2020-09-30 18:48:16 · 218 阅读 · 11 评论 -
C#中方法函数的声明和调用
文章目录一、方法函数的语法二、两种方法函数三、方法的调用一、方法函数的语法[访问修饰符] static 返回值 方法名 ([参数列表]){方法体}举例:Public static int Number(int num1,int num2){ return num1+num2;}二、两种方法函数无参数无返回值如:Public static void show(){}此方法函数中没有参数和返回值 ,void表示为空,返回值为空。有参数有返回值如:原创 2020-09-23 17:34:43 · 3289 阅读 · 17 评论 -
C#中 Int32.TryParse() ConVert.ToInt32() Int32.Parse () 的区别 将字符串类型转换为数字类型
了解Int32.TryParse() 转上一篇博客C# Int32.TryParse()Int32.TryParse() 将数字的字符串表示形式转换为它的等效 32 位有符号整数。Int32.Parse() 将数字的字符串表示形式转换为它的等效 32 位有符号整数。int32.Parse(string)如果s 为 null。抛出ArgumentNullException异常如果s 的格式不正确。抛出FormatException如果 s 表示一个小于 MinValue 或大于 MaxV原创 2020-09-09 16:34:25 · 447 阅读 · 14 评论 -
C#中Int32.TryParse()将字符串转化为整数
Int32.TryParse将数字的字符串表示形式转换为它的等效32位有符号整数。一个指示是成功的返回值。public static bool TryParse (string s, out int result);参数s String包含要转换的数字的字符串result Int32当此方法返回时,如果转换成功,则包含与 s 中所包含的数字等效的 32 位无符号整数值;如果转换失败,则包含零。如果 s 参数为 null 或 Empty、格式不正确,或者表示的数字小于 MinValue 或大原创 2020-09-09 15:50:00 · 1992 阅读 · 12 评论 -
C#中Console.WriteLine()与Console.Write的区别
区别1.Console.WriteLine()中可以没有 参数,Console.WriteLine()不能没有参数2.Console.WriteLine()输出到控制台 并且换行,且光标再输出结果的下一行Console.WriteLine()输出到控制台 不换行,光标不会移动到下一行...原创 2020-08-31 21:18:04 · 2937 阅读 · 12 评论