- 博客(53)
- 收藏
- 关注
原创 设计模式之 外观模式 C# 范例
外观模式(Facade Pattern)是一种结构型设计模式,旨在为子系统中的一组接口提供一个统一的接口。外观模式可以使得子系统的使用更加简单和高效,客户端不需要了解系统的内部细节,便可以通过外观类来访问复杂的子系统。
2024-12-15 08:30:00
311
原创 设计模式之 享元模式 C# 范例
/ 享元接口// 外部状态:颜色享元模式通过共享内存和减少对象创建次数来优化内存和性能,尤其适用于大量相似对象的场景。通过享元工厂来管理共享的享元对象,客户端可以通过传递外部状态来使用这些共享对象,从而达到节省内存和提高性能的目的。
2024-12-15 08:30:00
314
原创 设计模式之 组合模式 C# 范例
/ 组件接口,定义了所有叶子和组合对象的共同操作// 绘制图形// 添加子图形(组合对象才有此方法)// 移除子图形叶子节点是图形中的基本元素,如Circle和Rectangle,这些元素不包含任何子图形。// 叶子节点,表示单一的图形组合节点可以包含多个子图形(无论是Leaf还是其他Composite对象)。// 组合节点,表示可以包含多个图形的容器// 调用每个图形的Draw方法// 添加子图形// 移除子图形。
2024-12-14 16:00:00
517
原创 设计模式之 装饰器模式 C# 范例
Drink// 装饰器基类,继承自 IDrink 并包含对 IDrink 的引用// 默认返回基础饮品的价格// 默认返回基础饮品的描述。
2024-12-14 15:45:00
466
原创 设计模式之 桥接模式 C# 范例
IColorShape优点可以独立地扩展形状和颜色类,而不需要修改现有代码。减少了子类的数目,避免了复杂的类继承结构。使得系统能够更灵活地扩展新功能。缺点增加了系统的抽象性,学习和理解曲线较为陡峭。对于非常简单的系统,可能引入不必要的复杂性。桥接模式非常适合用在那些需要避免多重继承和扩展时,尤其是当系统的某个部分(如形状或颜色)频繁变化时。
2024-12-14 15:30:00
632
原创 设计模式之 适配器模式 C# 范例
/ Target: 定义客户端所期待的接口// Adaptee: 一个旧的播放器,只有播放 MP4 文件的功能适配器模式使得你可以在不改变现有代码的情况下,增加对新接口的支持。通过适配器类来桥接客户端代码与需要适配的类,从而实现接口的兼容性。
2024-12-14 14:45:00
812
原创 WPF 常用的5个布局容器控件介绍
Grid:适用于精确控制布局。StackPanel:适合简单的线性排列。WrapPanel:适合自动换行的布局。Canvas:适合精确位置控制,常用于图形和动画。DockPanel:适合停靠布局,适用于固定区域布局。根据应用的需求选择合适的布局容器,可以使得界面更加灵活和高效。
2024-11-30 19:56:35
680
原创 设计模式之抽象工厂 C# 范例
/ 抽象产品 Button public interface IButton { void Render();} // 抽象产品 Checkbox public interface ICheckbox { void Render();// 具体产品 WindowsButton public class WindowsButton : IButton { public void Render() { Console.WriteLine("Rendering Windows Button");
2024-11-29 11:14:50
666
原创 编程设计模式助记顺口溜
1、顺口溜创建型,工厂多,单例建对象,抽象工厂做。建造者分步做,原型克隆最不愁。结构型,适配器,桥接组合都不错,装饰外观飞享元,代理再添一把火。行为型,责任链,命令解释迭代先。中介备忘观察行,状态策略模板见。访问者真独特,并发型,线程池,读写锁,生产消。逐行解析:
2024-11-28 15:29:05
1137
原创 工厂模式(Factory Pattern)、简单工厂模式(Simple Factory Pattern)、和抽象工厂模式(Abstract Factory Pattern)使用异同点
三种工厂模式异同点,不同的应用场景
2024-08-19 12:06:56
189
原创 常用SQL集锦 好记性不如烂博客
1、查询出 某字段有值重复的记录(单个字段)select * from 表 twhere (t.username) in (select username from 表group by username having count(*) > 1)2、查找表中多余的重复记录(多个字段)select * from 表 a where (a.peopleId,a.seq) in (select peopleId,seq from 表 group by peopleId,seq having ...
2020-10-09 22:56:45
165
原创 冒泡排序
int[] array = { 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 };int temp = 0;for (int i = 0; i < array.Length-1; i++){ for (int j = i+1; j < array.Length; j++) { if (array[j] < array[i]) { temp = array[i]; array[i] = array[j]; a.
2020-10-09 22:34:58
187
原创 C# MenberwiseClone/Clone 的差别
MenberwiseClone():浅复制,如果是值类型,按位复制,引用类型,复制其引用,实际上指向的是同一个对象;Clone():深复制,值类型按位复制,复制引用,并指向一份全新的对象
2020-10-04 21:09:32
220
原创 Ms SqlServer 事务使用范例
BEGIN begin tran begin try 这里写入业务代码 if(@@ERROR=0) commit tran else rollback tran end try begin catch rollback tran end catchEND
2020-09-28 10:46:08
150
原创 生成指定大小区间的随机数
public static List<int> GetUinqueRandom(int maxValue, int minValue,int count) { List<int> valuePool = new List<int>(); List<int> valueResult = new List<int>(); for (int i = minValu.
2020-09-23 22:23:09
466
原创 线程安全的单例(双if)
直接上代码namespace Test{ public class SingletonTest { object Lock = new object(); public static SingletonTest _singletonTest = null; public SingletonTest CreateInstace() { if (_singletonTest == null)
2020-09-21 23:08:16
257
1
原创 C# 反射实例化对象
经常用反射来构造对象,好记性不如烂博客,写在这里做一下笔记反射需要引用System.Reflection命名空间1、无参构造实例 Assembly assembly1 = Assembly.LoadFile("程序集路径,不能是相对路径"); //无参构造函数 object objNoParam = assembly1.CreateInstance("命名空间.具体类型"); assembly1.C.
2020-09-21 00:09:45
1262
原创 Windows Nginx 定时重启/配置日志(bat 脚本+Windows定时任务)
一、实现思路 1、使用Windows定时任务,定时执行bat脚本 2、bat脚本,逐行读取Nginx的配置文件,通过匹配字符串的方式,找到日志配置行,修改。 3、然后杀完Nginx进程,启动Nginx。就达到了配置日志的目的。 4、不使用reload的原因,生效太慢。猜想是因为项目是用的是TCP负载均衡,连接没断完,一直保留旧进程的原因二、bat脚本::关闭输出@echo off ::配置文件的绝对路径set nginxPath=C:\Users\Administa...
2020-09-18 10:33:29
1654
原创 Linq To Object 之 inner join、Left Join
直接上代码:List<Student> sList = new List<Student>(){new Student(){id=1,Name = "1",VipID = 1},new Student(){id=2,Name = "2",VipID = 1},new Student(){id=3,Name = "3",VipID = 0},new Student(){id=4,Name = "4",VipID = 2}}List<Vip> ...
2020-09-17 23:47:12
261
原创 Linq To Object 之 In 查询、Skip、Take
直接上代码范例:List<Student> list =new List<Student>(){new Student(){id= 1,Name =1},new Student(){id= 2,Name =2},new Student(){id= 3,Name =4}}var listIn= list.where(s=>new int[]{1,2}.Contatins(s.id));
2020-09-17 22:36:13
192
原创 Ms SqlServer Base64字符串解码函数
一、SqlServer 代码USE[数据库名称]GO/******Object:UserDefinedFunction[dbo].[Base64StrDecode]ScriptDate:2020/4/716:57:00******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEFUNCTION[dbo].[Base64StrDecode](@Base64Strvarchar(max))RETURNs...
2020-09-08 10:01:06
1571
原创 Linq To Object 之 where 记一次 【空指针异常】的处理方式以及原理
一、场景还原二、代码分析 如上图片所见代码,业务逻辑很简单,根据defaultYbPatiTypeID对ocbo_PatiType控件的数据源进行一次过滤。代码编译通过,一眼瞅上去也没什么问题,愣是报了空指针异常。三、尝试解决鉴于不能阻碍开发进度,当时尝试用了foreach常规套路解决,代码如下,测试也无问题。后加班本着不服输的精神,又回来硬着头皮解决。经过半个小时的度娘谷哥大战,终明其原理。一行代码解决。四、原理造成空指针的原因推测,是因为Linq有延迟..
2020-09-04 11:04:01
352
原创 Windows Batch 批处理脚本 停止和启动程序,可配合Windows定时任务用于自动重启方案
::关闭输出@echooff::获取当前时间setTime=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%setlogPath=%cd%\ReStartLog.txt::创建日志文件if not exist%logPath%(echo日志文件创建时间:%Time%>%logPath%)echo开始执行任务:%Time%:开始执行任务>>%logPath%::注意两个...
2020-09-01 11:10:58
1515
原创 Windows Batch bat批处理脚本 停止和启动IIS服务,可用于自动重启方案
一、直接上代码::关闭输出@echo off::获取当前时间set Time=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%set logPath=%cd%\ReStartLog.txt::创建日志文件if not exist %logPath% (echo 日志文件创建时间:%Time%>%logPath%)echo 开始执行任务:%Time%:开始执行任务>>%logPath%..
2020-09-01 11:05:20
1741
原创 Linq To Object 之 Select
一、作用 Select能够按照传入的委托的要求,完成对数据集合的过滤,并按照定义的格式返回二、直接上代码:public void Show() { List<Student> stuList = new List<Student>() { new Student() {Name = "1",ID = 1,age = 27 }, ...
2020-08-30 11:06:52
412
原创 用限定线程数量,完成多任务
#region 用限定线程数量,完成多任务 int taskCount = 10000; List<int> list = new List<int>(); for (int i = 0; i < taskCount; i++) { list.Add(i); } Action<int> a...
2020-06-07 10:40:24
324
原创 C# 带返回值异步调用函数 可用于页面初始化
函数体:private Func<T> ThreadWithReturn<T>(Func<T> WailtDo) { T ParamFunc = default(T); Thread thread = new Thread( () => { ParamFunc = WailtDo.Invoke(...
2020-06-06 17:57:34
361
原创 SqlServer 查看表的所有字段注释
SELECTA.name AS table_name,B.name AS column_name,C.value AS column_descriptionFROM sys.tables AINNER JOIN sys.columns B ON B.object_id = A.object_idLEFT JOIN sys.extended_properties C ON C.major_id = B.object_id AND C.minor_id = B.column_idWHEREA..
2020-05-14 09:46:38
3022
原创 Winform窗体嵌入外部程序 EXE
public partial class PatiCtlPacsReport : UserControl { private const int GWL_STYLE = (-16); private const int WS_VISIBLE = 0x10000000 | 0x00800000 | 0x02000000 | 0x01000000; private const int WS_VISIBLE2 = 0x40000000 | 0x0080000...
2020-05-11 18:47:50
1602
原创 C# 委托的个人浅薄的理解(个人理解笔记),不严谨, 如有错误请指出
一、什么是委托? 1、委托跟类一样,都是 可以定义的; 2、可以理解为委托是方法的一种类型,委托实现了讲一个函数作为参数传给另外一个函数的方式 3、可以理解委托是一段封装好的代码二、为什么要使用委托? 1、实现函数封装; 2、使代码更健壮和拓展性更强; 3、代码复用。三、什么时候使用委托? 比如,...
2020-04-04 21:29:51
350
原创 Oracle 实用语句段收藏 持续更新
日常开发过程中,经常要用到各种各样功能打SQL语句段,知道原理,但是写着费劲,特写本文备忘、当字典查询1、按字段查询表中重复的记录select * from 表 where (字段) in (select 字段 from 表 group by 字段 having count(*) > 1);...
2020-03-03 09:58:15
136
原创 Oracle 新创建用户 流程
当有第三方厂商过来接入系统,我们一般需要给这些商场分配独立的Oracle数据库用户。一、创建用户create user 用户名 identified by 密码;二、分配权限grant select on vw_interface_patient_mi_his to fs_feixing_user;--分配对某张表的查询条件GRANT CREATE SYNONYM TO fs_...
2020-02-25 17:01:26
342
原创 存储过程 循环回填数据
beginfor rec in( select t.ourid,t.price1, t.price2,t.amount2, cp.nowprice,t.calcquanfrom dema_deviceinnerdtl t INNER JOIN vw_sbas_chargeprice cp on t.deviceid = cp.chargeid and cp.orgid=2where t.p...
2020-02-21 17:07:17
459
原创 SQLServer 建立存储过程范例
USE [数据库名称]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE procedure [dbo].[存储过程名称](@参数名称1 char(20),@参数名称2数据类型(长度))asbegin--定义变量: declare @变量名称 数据类型(长度)declare @V_Hospitalize...
2020-02-12 20:00:25
385
原创 路由器和交换机在功能、用途上有什么差别?
一、产生疑问原因 由于最近般了办公室,暂时链接不上办公环境的内网,但是测试环境安装在我的电脑上,所以同事们需要连接到我电脑上的测试环境。那么问题来了。。。。 如何让同事们在没有办公环境内网的情况下,使用到我的电脑上的测试环境呢? 答曰:使大家的电脑ip都在同一个网段上。解决方案: ...
2019-12-29 15:00:23
1075
原创 HL7消息部分笔记
1、关于HL7标准HL7是HealthLevel7的缩写,主要用于医疗领域不同的系统、应用之间的信息传递。规范各个系统间的信息传递格式。2、字段含义:Z信息段:Z信息段是指与HL7第二版标准其它信息段不匹配的临床或病人信息。Z信息段用来接收与HL7标准信息定义不匹配的数据,Z信息段可以插入任何信息。ADT信息:最常使用的HL7第二版信息类型是ADT或者允许转...
2019-12-29 14:58:56
4122
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人