随笔分类 - 设计模式
摘要:接着上一讲中的简单工厂继续讲解,假如我们有了需要采集新的水果梨子,如果我们使用简单工厂中的方式的话,就会新增一个Pear类,然后实现Fruit类,然后修改FruitFactory类中获取实例的方法getFruitInstance,新增了ifelse,这样虽然解决了问题,但是却违反了“开放封闭”的原则...
阅读全文
摘要:简单工厂(Simple Factory,创建型模式)第一步:比如我们要采集苹果和香蕉,那么我们需要创建一个Apple类和Banana类,里面各自有采集方法get(),然后通过main方法进行调用,但是我们发现Apple和Banana都有采集get的方法,所以我们使用Fruit接口进行抽象出来,接口中...
阅读全文
摘要:1.定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使得一个类的实例化延迟到子类。2.实现代码如下: /// /// 工厂方法 /// public abstract class Factory { public abstract Compute GetCompute(); } public class AddFactory : Factory { public override Compute GetCompute() { return new...
阅读全文
摘要:简单工厂1.只有一个工厂(具体的,没有抽象)2.只生产一种产品(抽象的产品)3.这种产品可以有多种具体产品类型(派生)代码实现class Program { static void Main(string[] args) { int number1 = 1; int number2 = 2; Compute compute = SimpleFactory.GetComputer("+"); compute.Number1 = number1; comp...
阅读全文
摘要:1.从设计原则到设计模式(1)针对接口编程,而不是针对实现编程客户无需知道所使用对象的特定类型,只需要知道对象拥有客户所期望的接口(2)优先使用对象组合,而不是类继承对象尽量使用接口,而不是一味的继承,因为这样会破坏封装性(3)封装变化点将变化的部分进行封装,这样不会对其他的部分有影响(4)使用重构得到模式一上来就使用设计模式是对设计模式的最大误用。2.具体的设计原则(1)单一职责原则一个类应该仅有一个引起它变化的原因(2)开放封闭原则类模块应该是可扩展的,但是不可修改(对扩展开放,对更改封闭),简单的说就是不修改原来的类或方法,而是增加类或者方法(3)Liskov 替换原则(里氏替换原则LS
阅读全文

浙公网安备 33010602011771号