上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 定义:动态的给一个对象添加游戏欸额外的职责,就增加功能来说,装饰模式比生成子类更灵活。 注意他与建造者的区别:它的建造过程是不稳定的,二建造者的建造过程是稳定的。 Component定义一个对象接口,可以给这些对象动态的添加职责。 ConcreteComponent 是定义了一个具体的对象,也可以给 阅读全文
posted @ 2021-09-02 23:09 HelloWorld庄先生 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 定义:如果将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。 什么时候使用建造者? 主要用于创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。 将一个复杂对象的构建与它的表示分开,使得同样的构建过程可以创建不同的表示。如果我们 阅读全文
posted @ 2021-09-02 23:08 HelloWorld庄先生 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式每个具体工厂类只完成单个实例的创建,所以它具有很好的可扩展性。但是在实际的应用中,一个工厂不止会创建单一的产品,而是一系列的产品,这就引入了抽象工厂的概念。解决涉及多个产品系列的问题。 大家都知道利用抽象工厂模式可以切换数据库的访问,那具体怎么做呢?这里介绍两种方式:利用简单工厂改进传统 阅读全文
posted @ 2021-09-02 23:02 HelloWorld庄先生 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式(Factory Method) 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延续到其子类中。 工厂方法模式是简单工厂的扩展,工厂方法把简单工厂的内部逻辑判断转移到了客户端进行,想要增加功能,以前是修改工厂类,现在是修改客户端。 工厂方法模式克服了简单工 阅读全文
posted @ 2021-09-01 23:21 HelloWorld庄先生 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 在简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。缺点是违背了“开放-封闭”原则。 示例代码 public class Operation { private double _numberA = 0; priva 阅读全文
posted @ 2021-09-01 23:15 HelloWorld庄先生 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 单例模式,只能创建一个对象(以下示例是懒汉模式) 确保一个类只有一个实例,并提供一个访问本类实例唯一的全局访问点。单例模式的使用是当我们的系统中某个对象只需要一个实例的情况。 public class Singleton//单例模式 { // 定义一个静态变量来保存类的实例 private stat 阅读全文
posted @ 2021-08-30 23:29 HelloWorld庄先生 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 一、开闭原则(Open-Closed Principle, OCP)对软件实体的改动,最好用扩展而非修改的方式,如果要修改代码,尽量用继承或组合来扩展类的功能,而不是直接修改代码。 二、里氏替换原则尽量把父类设计成抽象类或者接口,让子类继承父类或实现父类接口,子类可以扩展父类的功能,但不能够改变父类 阅读全文
posted @ 2021-08-30 22:51 HelloWorld庄先生 阅读(138) 评论(0) 推荐(0) 编辑
摘要: Mysql数据库的优化成本从高到底可以分为硬件,系统配置,数据库表结构,SQL和索引。 一、SQL的优化 根本目标: (1)最大化利用索引 (2)尽量避免全表扫描 (3)减少无效数据的查询 WHERE优化 尽量避免在where子句中对字段进行null值判断,建表的时候可以用NOT NULL 或一些特 阅读全文
posted @ 2021-08-29 23:31 HelloWorld庄先生 阅读(138) 评论(0) 推荐(0) 编辑
摘要: WPF中有2种树,一种叫做逻辑树(LogicalTree),另一种叫可视元素树(VisualTree),逻辑树是可视元素树的一棵子树,路由事件沿着VisualTree传递。 路由事件的事件拥有者和事件响应者之间没有直接显示的订阅关系,事件的拥有者只负责激发事件,事件由谁响应并不知道,事件的响应者则安 阅读全文
posted @ 2021-08-29 16:12 HelloWorld庄先生 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 一、属性的来龙去脉 程序的本质是“数据+算法” C#语言规定:对类有意义的字段和方法使用static关键字修饰,称为静态成员; 静态字段在内存中只有一个拷贝,非静态字段则是每个实例拥有一个拷贝,无论方法是否为静态在内存中只会有一份拷贝。 使用属性的目的就是为了避免把数据直接暴露给外界。 属性就是Ge 阅读全文
posted @ 2021-08-28 22:14 HelloWorld庄先生 阅读(430) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页