自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

搁浅的博客

共享,然后拥有自己的沉淀!

  • 博客(53)
  • 收藏
  • 关注

原创 设计模式之 代理模式 C# 范例

首先,我们定义一个接口ISubject,这是被代理类和代理类都需要实现的接口。

2024-12-15 09:15:00 324

原创 设计模式之 外观模式 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

原创 设计模式之 原型模式 C# 范例

IPrototype。

2024-12-14 10:17:14 517

原创 设计模式之 建造者模式 C# 范例

set;set;set;set;指挥者(Director)负责使用建造者(Builder)构建产品。

2024-12-03 23:54:04 593

原创 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

原创 程序设计 26种设计模式,如何分类?

26种设计模式分类

2024-11-28 15:24:59 1171

原创 工厂模式(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关注的人

提示
确定要删除当前文章?
取消 删除