张德长

导航

上一页 1 ··· 4 5 6 7 8 9 下一页

2022年4月10日 #

GDI+双缓存技术原理图

摘要: 阅读全文

posted @ 2022-04-10 12:47 张德长 阅读(59) 评论(0) 推荐(0) 编辑

2022年4月3日 #

设计模式之:桥接模式BridgePattern的实现

摘要: 如果某个类存在两个维度的变化,通过桥接模式可以将两个维度分离出来,使两者可以独立扩展; 桥接模式用一种巧妙地方式处理多层继承的问题,用抽象关联关系取代多层继承关系; 将类之间的静态继承关系转换为动态的对象组合关系,符合组合原则; 桥接模式更容易扩展,并且可以显著减少类的个数; 如果一个类的两个维度分 阅读全文

posted @ 2022-04-03 22:30 张德长 阅读(46) 评论(0) 推荐(0) 编辑

设计模式之:适配器模式AdapterPattern的实现

摘要: 在面向对象软件系统中,每个类/对象都承担了一定的职责,他们可以相互协作,实现一些复杂的功能; 如果系统中存在不兼容的接口,可以通过引入一个适配器来使得原本不兼容的两个类可以一起工作; 这里的适配器就像手机的充电器(手机充电器也叫电源适配器),将不适配的220V电转化为可以适配的电,很明显,这个适配器 阅读全文

posted @ 2022-04-03 21:35 张德长 阅读(47) 评论(0) 推荐(0) 编辑

设计模式之:代理模式ProxyPattern的实现

摘要: 代理模式的理解: 当用户无法或不能直接访问某个对象时,可以通过一个代理来间接访问; 为保证客户端使用的透明性,所访问的真是对象和代理对象需要实现相同的接口; 代理模式分为:保护代理(Protect Proxy)、远程代理(Remote Proxy)、虚拟代理(Virtual Proxy)、缓冲代理( 阅读全文

posted @ 2022-04-03 17:55 张德长 阅读(51) 评论(0) 推荐(0) 编辑

设计模式之:GoF的23种设计模式分类对比(表格)

摘要: 三类设计模式的对比 英文名 设计模式数量 用途、意义 创建型模式 Creational Pattern 5 创建型模式关注对象的创建过程,将对象的创建和使用分离,降低系统耦合度,让设计方案更易于修改和扩展 结构型模式 Structural Pattern 7 结构型模式关注如何将类或对象组织在一起, 阅读全文

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

设计模式之:享元模式FlyweightPattern的实现

摘要: 享元模式的理解: 享元模式的定义:运用共享技术支持大量细粒度对象的复用; Flyweight Pattern Definition:Use sharing to support large numbers of fine-grained efficiently. 享元模式关键词:大量、细粒度、复用、 阅读全文

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

2022年4月2日 #

设计模式之:原型模式PrototypePattern的实现(浅克隆和深克隆)(浅表副本和深表副本)

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

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

设计模式之:建造者模式BuilderPattern的实现

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

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

设计模式之:三种工厂模式的对比SimpleFactoryPattern、FactoryMethodPattern、AbstractFactoryPattern

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

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

设计模式之:抽象工厂模式AbstractFactoryPattern的实现

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

posted @ 2022-04-02 16:08 张德长 阅读(103) 评论(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 张德长 阅读(56) 评论(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 张德长 阅读(32) 评论(0) 推荐(0) 编辑

2022年3月31日 #

设计模式之策略模式的实现

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

posted @ 2022-03-31 18:58 张德长 阅读(120) 评论(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 张德长 阅读(245) 评论(0) 推荐(0) 编辑

面向对象设计7大原则-中英双语(表格)-程序员必背

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

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

2022年3月30日 #

C# 语法糖测试--未完待续

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

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

2022年3月29日 #

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 张德长 阅读(1873) 评论(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 张德长 阅读(134) 评论(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 张德长 阅读(114) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 下一页