前言 策略模式应对业务处理中,会有多种相似处理方式(算法),然后封装成算法+抽象,此外,调用环节也有扩展要求的,来个context 好处:算法封装,有抽象可以扩展;调用环节转移,可以扩展; 缺陷:上端必须知道全部算法,而且知道映射关系 包一层:没有什么技术问题是包一层不能解决的,如果有,再包一层 中…
前言 简单工厂其实不是一个标准的的设计模式。 GOF 23种设计模式中只有「工厂方法模式」与「抽象工厂模式」。 简单工厂模式可以看为工厂方法模式的一种特例,为了统一整理学习,就都归为工厂模式。 这三种工厂模式在设计模式的分类中都属于创建型模式,三种模式从上到下逐步抽象。 提供了一种创建对象的方式,使…
前言 在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象。那么如果将“将现存的对象”在新的环境中进行调用呢?解决这个问题的办法就是我们本文要介绍的适配器模式——使得新环境中不需要去重复实现已经存在了的实现而很…
Socket简介 什么是Socket? 在计算机通信领域,socket被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。 Socket的本质 Socket本质是编程接口(API),这也是为什么一…
CSharpier 插件 在使用Visual Studio写项目时,总会遇到有些代码格式混乱。那这时候我们需要使用一个格式化代码插件,CSharpier插件。此插件适用于visual studio2019和visual studio 2022。 如何使用CSharpier插件 在拓展 - 管理拓展 …
观察者模式 处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信,观察者模式也被称为发布/订阅模式 观察者模式写法 一、接口 抽取出一个IOberserver接口 /// <summary> /// 抽取出一个接口 /// </summary> public interf…
编程语言大评比。首先,我们先打开浏览器搜索C#2023占比,随便点开一个文章。发现都是说C#是2023年编程语言之王。为什么很多人对此没有什么感受呢? 我认为是以下几点原因 C#在国内的比例还是没有C++/ java之类的多。虽然这两年都是说互联网寒冬,java岗位严重缩水。但是相对而言哈,C#的岗…
Csharp——wpf控件命名规则,在使用控件的时候,难免要对控件命名,一个好记且规范的命名能够使人一目了然。这里统计了一些控件常用的缩写方式,希望可以帮助到大家。
在项目中遇到一个需求,在整点的时候执行一个方法。(保存数据、处理数据等),此时我们需要一个Timer定时器,当整点的时候可以指定特定事件。那如何解决Timer定时器在整点重复进入方法的问题,继续往下看。这里我们使用一个实例:当运行到指定时间段的时候,文字开始滚动(实现跑马灯效果)
WPF中使用附加属性解决MVVM模式中PasswordBox无法绑定的问题
如何去学习一门语言——C C# 作为一门高级编程语言,其实他和Java非常类似,如果有学习过Java语言的小伙伴,应该会对C# 特别熟悉。如果你对C# 语言不熟悉也没有关系,本文将会从头开始带你熟悉C# 的知识点。 在学习之前,我们要明白: 每天学习做好笔记,思维导图。不是为了以后更好复习,而是为了…
使用C#代码解决窗体显示不全或窗体和界面不匹配问题 日志 第一步 在解决方案右键引用AutoSizeFormClass类 class AutoSizeFormClass { //(1).声明结构,只记录窗体和其控件的初始位置和大小。 public struct controlRect { publi…