张德长

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

随笔分类 -  C#

上一页 1 2 3 4

C#基本语法及应用
设计模式之:享元模式FlyweightPattern的实现
摘要:享元模式的理解: 享元模式的定义:运用共享技术支持大量细粒度对象的复用; Flyweight Pattern Definition:Use sharing to support large numbers of fine-grained efficiently. 享元模式关键词:大量、细粒度、复用、 阅读全文

posted @ 2022-04-03 16:02 张德长 阅读(280) 评论(0) 推荐(0) 编辑

设计模式之:原型模式PrototypePattern的实现(浅克隆和深克隆)(浅表副本和深表副本)
摘要:原型模式不是通过new生成新的对象,而使通过复制进行生成; 原型模式适用于相同类型的多个对象的生成; 原型模式分为两种:浅克隆/浅表副本(Shallow Clone)和深克隆/深表副本(Deep Clone); 浅克隆:Shallow Clone,只复制值类型变量,不复制引用类型变量的克隆;(只复制 阅读全文

posted @ 2022-04-02 23:56 张德长 阅读(109) 评论(0) 推荐(0) 编辑

设计模式之:建造者模式BuilderPattern的实现
摘要:建造者模式相较于工厂模式,用于创建复杂的对象; 使用的技术:继承、抽象类、多态、配置文件、反射; 建造者模式的设计原则: 面向抽象类编程,符合依赖倒置原则; 通过配置文件生成具体建造者,替代抽象建造者,符合里氏替换原则; 不同的建造者建造不同的角色,符合单一职责原则; 客户端只需调用建造者生成角色对 阅读全文

posted @ 2022-04-02 18:36 张德长 阅读(76) 评论(0) 推荐(0) 编辑

设计模式之:三种工厂模式的对比SimpleFactoryPattern、FactoryMethodPattern、AbstractFactoryPattern
摘要:工厂模式对比: 简单工厂 SimpleFactoryPattern 工厂方法 FactoryMethodPattern 抽象工厂 AbstractFactoryPattern 工厂数量 一个工厂 多个工厂 多个工厂 工厂数量计算 1 工厂数=产品数 工厂数=产品系列数 单个工厂创建产品数 所有产品 阅读全文

posted @ 2022-04-02 16:32 张德长 阅读(87) 评论(0) 推荐(0) 编辑

设计模式之:抽象工厂模式AbstractFactoryPattern的实现
摘要:相比于工厂模式,抽象工厂模式的每个工厂可以创建产品系列,而不是一个产品; 抽象工厂用到的技术:接口、多态、配置文件、反射; 抽象工厂模式的设计原则: 实现客户端创建产品和使用产品的分离,客户端无须了解创建的细节,符合迪米特法则; 客户端面向接口定义产品,符合依赖倒置原则; 客户端面向接口定义工厂,而 阅读全文

posted @ 2022-04-02 16:08 张德长 阅读(106) 评论(0) 推荐(0) 编辑

设计模式之:工厂方法模式FactoryMethodPattern的实现
摘要:本例用到了配置文件、接口、反射、多态; 满足的设计原则: 通过工厂,实现创建对象和使用对象的分离,实现松耦合,满足迪米特法则; 通过配置文件指定创建对象类型,而不需更改源代码,满足开闭原则; 容易实现功能扩展,只需添加新的Logger实现类和新的Factory实现类即可,无须更改源代码,满足开闭原则 阅读全文

posted @ 2022-04-02 13:46 张德长 阅读(170) 评论(0) 推荐(0) 编辑

设计模式之简单工厂SimpleFactory的实现(配置文件)
摘要:<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="chartType" value="histogram" /> </appSettings> </configuration> public 阅读全文

posted @ 2022-04-02 12:55 张德长 阅读(57) 评论(0) 推荐(0) 编辑

设计模式之简单工厂SimpleFactory的实现
摘要:internal interface Chart { void Display(); } internal class LineChart : Chart { public LineChart() { Console.WriteLine("创建折线图"); } public void Display 阅读全文

posted @ 2022-04-02 12:15 张德长 阅读(34) 评论(0) 推荐(0) 编辑

设计模式之策略模式的实现
摘要:策略模式通用UML类图 with StarUML 具体实现的UML类图 with StarUML 折扣接口 namespace StrategyPattern { interface Discount { double Calculate(double price); } } 学生折扣类 names 阅读全文

posted @ 2022-03-31 18:58 张德长 阅读(127) 评论(0) 推荐(0) 编辑

GoF设计模式-23大设计模式(表格)-程序员必备+必背
摘要:在GoF经典著作《设计模式:可复用面向对象软件的基础》中一共描述了23种设计模式。 《Design Patterns:Elements of Reusable Object-Oriented Software》,由 Erich Gamma、Richard Helm、Ralph Johnson 和 J 阅读全文

posted @ 2022-03-31 17:29 张德长 阅读(285) 评论(0) 推荐(0) 编辑

面向对象设计7大原则-中英双语(表格)-程序员必背
摘要:软件的可维护性(Maintainability)和可复用性(Reusability)是衡量软件质量的两个重要属性; 可维护性:软件能够被理解、改正、适应、扩展的难易程度; 可复用性:软件能够被重复使用的难易程度; 面向对象设计的目标在于支持可维护性复用,一方面需要实现设计方案或者源代码的复用,另一方 阅读全文

posted @ 2022-03-31 12:36 张德长 阅读(71) 评论(0) 推荐(0) 编辑

C# 语法糖测试--未完待续
摘要:/// <summary> /// string扩展方法,可以用字符串变量加.的形式直接调用,this是关键 /// </summary> public static class StringExtention { private static Regex regex = new Regex("\\ 阅读全文

posted @ 2022-03-30 13:42 张德长 阅读(44) 评论(0) 推荐(0) 编辑

C#枚举-通过值获取名字,通过名称获取值
摘要:public enum ProtoType { Move = 1, Enter = 2, Leave = 3, Attack, Die, } print("ProtoType.Move:" + ProtoType.Move); print("ProtoType.Move.ToString():" + 阅读全文

posted @ 2022-03-29 17:46 张德长 阅读(1911) 评论(0) 推荐(0) 编辑

单例模式的实现Singleton和MonoSingleton
摘要:using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// 普通单例基类 /// by:zdz /// date:20220328 /// </summary> // 阅读全文

posted @ 2022-03-29 16:12 张德长 阅读(144) 评论(0) 推荐(0) 编辑

服务端的同步方式和异步方式
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threadi 阅读全文

posted @ 2022-03-29 16:07 张德长 阅读(117) 评论(0) 推荐(0) 编辑

Unity用Input.touches实现手机端多点触控
摘要:多点触控的方法,两边的触控互不干扰; 主要采用Input.touches的相关属性进行操作; 而采用IPointerDrag接口会造成两个drag的相互干扰; 代码如下: using System.Collections; using System.Collections.Generic; usin 阅读全文

posted @ 2022-03-05 18:58 张德长 阅读(1102) 评论(0) 推荐(0) 编辑

如何跨线程访问Winform中的UI元素
摘要:如何跨线程访问Winform中的UI元素 假如制作一个Socket聊天应用程序,很可能会用到多线程; 例如为Receive方法开辟单独一个线程,例如为Receive方法开辟单独一个线程(后台运行的线程IsBackGround=true); 然而Winform的UI控件都是运行在主线程中的,如果从其他 阅读全文

posted @ 2022-03-05 18:06 张德长 阅读(188) 评论(0) 推荐(0) 编辑

C# 委托专题
摘要:单播委托:一个委托只指向一个方法; 多播委托:一个委托指向多个方法,形成一个方法链; Main是静态方法,里面只能引用静态方法,而不能引用实例方法; Main可以进行类的实例化,然后引用实例化后的方法; 委托的使用流程:声明委托,实例化委托,绑定事件,调用委托(也就是调用委托绑定的方法); 声明委托 阅读全文

posted @ 2022-03-05 17:34 张德长 阅读(49) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4
点击右上角即可分享
微信分享提示