摘要: 迪米特法则简介 迪米特法则(LoD),如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。 迪米特法则,强调的前提是在类的结构设计上,每一个类都应当尽量降低成员的访问权限。也就是说,每个类包装好自己的priv 阅读全文
posted @ 2020-03-20 10:52 yangbofun 阅读(119) 评论(0) 推荐(0)
摘要: 模板方法模式简介 模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即重定义该算法的某些特定步骤。 父类可以成为子类的模板,所有重复的代码都应该要上升到父类去,而不是让每个子类都去重复。 当我们要完成某一细节层次一致的一个过程或一系列步骤,但 阅读全文
posted @ 2020-03-19 22:32 yangbofun 阅读(116) 评论(0) 推荐(0)
摘要: 原型模式简介 原型模式(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式其实就是从一个对象再创建另外一个可定制的对象,并且不需知道任何创建的细节。 一般在初始化信息不发生变化的情况下,克隆是最好的办法。这既隐藏了对象的细节,有对性能是大大的提高。它等于 阅读全文
posted @ 2020-03-18 12:23 yangbofun 阅读(149) 评论(0) 推荐(0)
摘要: 工厂方法模式简介 工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类中。 工厂方法模式在实现时,客户端需要决定实例化哪一个工厂来实现运算类,选择判断的问题还是存在的,也就是说,工厂方法把简单工厂的内部逻辑判断移到了 阅读全文
posted @ 2020-03-17 11:51 yangbofun 阅读(144) 评论(0) 推荐(0)
摘要: 代理模式简介 代理模式(proxy),为其他对象提供了一种代理以控制对这个对象的访问。 代理模式的应用: 1.远程代理:也就是为一个对象在不同的地址空间提供据图代表。这样可以隐藏一个对象存在于不同地址空间的事实。比如VPN 2.虚拟代理:是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的 阅读全文
posted @ 2020-03-16 22:04 yangbofun 阅读(119) 评论(0) 推荐(0)
摘要: 依赖倒转原则简介 依赖倒转原则:抽象不应该依赖细节,已经应该依赖抽象。 要针对接口编程,而不应该对实现编程。 里氏代换原则:子类型必须能够替换掉他们的父类型。只有当子类可以替换掉父类,软件单元的功能不受到影响时,父类才能真正的被复用。而子类也能在父类的基础上添加新的功能。 正是由于类类型的可替换性才 阅读全文
posted @ 2020-03-15 19:03 yangbofun 阅读(103) 评论(0) 推荐(0)
摘要: 装饰模式简介 装饰模式(Decorator)动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活。 装饰模式中每个对象的实现和对这个对象的使用是分开的。每个装饰对象只需要关心自己的功能,不需要关心如何被添加到对象链当中的。 当系统需要新功能时,是向旧的类中添加新的代码。这些新 阅读全文
posted @ 2020-03-15 17:06 yangbofun 阅读(130) 评论(0) 推荐(0)
摘要: 开放封闭原则简介 开放-封闭原则,是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。 这个原则其实是有两个特征,一个是说,“对于扩展是开放的(Open for extension)”,另一个是说“对于更改是封闭的(Closed for modification)”。 开放封闭原则可以使当 阅读全文
posted @ 2020-03-06 11:48 yangbofun 阅读(131) 评论(0) 推荐(0)
摘要: 一、单一职责原则简介 单一职责原则,其实就是把类的职责单一化,这样利于代码的维护和重用。对一个类而言,应该仅有一个引起它变化的原因。 如果一个类承担的职责过多,就等于把这些类耦合在了一起,一个职责的变化可能会削弱或抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不 阅读全文
posted @ 2020-03-02 11:16 yangbofun 阅读(101) 评论(0) 推荐(0)
摘要: 一、策略模式简介 策略模式是把算法和内容相分离,针对不同的策略实现不同的函数,用于处理内容中的数据,减少了算法类和使用算法类之间的耦合,并且由于算法的实现被单独的抽离出来,所以对不同算法的实现进行单元测试时也会更加的方便。 策略模式也可以与简单工厂模式相结合,在服务端内部是利用策略模式进行解耦合,在 阅读全文
posted @ 2020-02-29 20:44 yangbofun 阅读(146) 评论(0) 推荐(0)