上一页 1 ··· 6 7 8 9 10 11 下一页
摘要: 一.介绍 原型模式(Prototype Pattern)。属于创建型模式。用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象。 二.实现 简单来说,原型模式可以直接复制一个现有的对象,而不需要重新new操作去创建。这种创建分两种方式,浅拷贝和深拷贝。 1.浅拷贝 定义一个接口IPerso 阅读全文
posted @ 2021-01-13 14:59 shine声 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 一.介绍 建造者模式(Singleton Pattern)。属于创建型模式。将一个复杂对象的创建和它的表示分离,使得同样的构建过程可以创建不同的表示。 二.实现 举个例子,客户去买电脑,都是和电脑店的老板直接沟通的,然后老板再安排装机人员去安装电脑,最后安装完成就可以出货。这个流程符合用建造者模式去 阅读全文
posted @ 2021-01-12 10:58 shine声 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 一.介绍 单例模式(Singleton Pattern)。属于创建型模式。它保证一个类仅有一个实例,并提供一个访问它的全局访问点。 二.实现 结构为,一个私有的静态变量,用于存放该实例。私有的构造函数,防止外部直接创建该类实例。 创建单例模式有两种方式。饿汉式和懒汉式。 饿汉式是直接在程序中初始化一 阅读全文
posted @ 2021-01-08 11:20 shine声 阅读(937) 评论(0) 推荐(0) 编辑
摘要: 一.介绍 抽象工厂模式(Abstract Factory Pattern)。属于创建型模式。它提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 二.场景 仍然是举例之前工厂模式使用的买水果例子。我们(调用方)去水果店(工厂接口)买水果,不同水果有不同的售货员(工厂类)负责,我们只 阅读全文
posted @ 2021-01-07 10:59 shine声 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 一.介绍 工厂方法模式(Factory Method Pattern)。属于创建型模式。定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。 二.场景 比如我们去水果店买水果,我们只要说出要买什么水果,水果店就会给我们什么水果。这里的水果店相当于一个工厂接口, 阅读全文
posted @ 2021-01-06 10:54 shine声 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 一.介绍 简单工厂模式(Simple Factory Pattern)又叫静态工厂方法(Static Factory Method)模式。它属于创建型模式,但它不属于23种设计模式的一种。简单来说,它的作用就是将类的实例化交给一个工厂类去执行。 二.场景 比如我们去水果店买水果,我们只要说出要买什么 阅读全文
posted @ 2021-01-05 10:28 shine声 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 迪米特法则(Law of Demeter)又叫最少知道原则(Interface Segregation Principle)。 一个对象应该对其它对象有尽可能少的理解;比如有一个A类,A类肯定对自身的属性和方法是熟悉的;如果A类的方法传参的是B类,那么A类对B类也是熟悉;在A类中直接实例化一个C类, 阅读全文
posted @ 2020-12-31 18:23 shine声 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 接口隔离原则,全称Interface Segregation Principle,英文缩写ISP。 客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。 满足接口隔离原则的前提就是接口设计得不应该过于庞大。举个例子,现在设计一个动物animal接口,动物应该都会跑步的。 p 阅读全文
posted @ 2020-12-30 14:24 shine声 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 里氏替换原则,全称Liskov Substitution Principle,英文缩写LSP。 一个程序中如果使用的是一个父类,那么该程序一定适用于其子类,而且程序察觉不出父类和子类对象的区别。也就是说在程序中,把父类替换成它的子类,程序的行为没有任何变化。 关于里氏替换原则的反例有不少,举个例子, 阅读全文
posted @ 2020-12-29 14:31 shine声 阅读(894) 评论(0) 推荐(0) 编辑
摘要: 依赖倒置原则,全称Dependence Inversion Principle,英文缩写DIP。 主程序要依赖于抽象接口,不要依赖于具体实现。高层模块不应该依赖底层模块,两者都应该依赖抽象。抽象不应该依赖细节,细节应该依赖抽象。 简单地理解一下这话的意思。 依赖说的就是耦合性,如果A类依赖于B类,当 阅读全文
posted @ 2020-12-28 14:07 shine声 阅读(462) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 下一页