设计模式
不爱吃汤圆的汤圆坨坨
这个作者很懒,什么都没留下…
展开
-
23种设计模式之行为型模式——策略模式
策略模式它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的客户。(减少各种算法类与使用算法类之间的耦合) 比如:商场收银时如何促销,用打折还是返利,其实都是一些算法,用工厂来生成算法对象,这没错,但算法本身只是一种策略,最重要的是这些算法是随时都可能相互替换,这就是变化点,而封装变化点是我们面向对象的一种很重要的思维方式。 策略模式(strateg原创 2016-10-11 15:29:14 · 402 阅读 · 0 评论 -
策略模式与工厂模式的区分
策略模式与工厂模式非常的相像,下面我们来通过一个简单的例子来进行区分。 比如:某天你在某个店家付了10块钱说想要一杯可乐,没过多久店家就给你端来了一杯可乐,但你并不知道这杯可乐是来自肯德基的还是来自麦当劳的,反正你只出了10块钱告诉老板你想要可乐然后可乐就来了,这就是工厂模式。 再比如:你需要喝一杯可乐,你出了10块钱给老板,老板问你是想和肯德基的还是麦当劳的,你告诉老板麦当劳的,于是老板给原创 2016-10-11 15:32:09 · 404 阅读 · 0 评论 -
23种设计模式之创建型模式——工厂模式
概述: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactorryMethod使一个类的实例化延迟到其子类。 使用性: 1、当一个类不知道它所必须创建的对象的类的时候。 2、当一个类希望由它的子类来指定它所创建的对象的时候。 3、当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。 举例: 工厂方原创 2016-10-24 15:55:15 · 298 阅读 · 0 评论 -
23种设计模式之6大原则
一、单一职责原则 单一职责原则:就一个类而言,应该仅有引起它变化的原因。 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力,当变化发生时,设计会遭受到意想不到的破坏。事实上,我们完全可以找出来进行分类,分离。 软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。其实要去判断是否应该分离出类来,也不难,那就是如原创 2016-10-14 09:56:48 · 355 阅读 · 0 评论 -
23种设计模式——结构型模式之装饰模式
装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 适用性: 1、在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。 2、处理那些可以撤销的职责。 3、当不能采用生成子类的方法进行扩充时。 参与者: 1、Component:定义一个对象接口,可以给这些对象动态地添加职责。 2、ConcreteComponent:定义一个具体的对象原创 2016-10-15 23:41:02 · 1029 阅读 · 3 评论 -
设计模式之创建型模式——简单工厂(又称为静态工厂不属于GOF23种设计模式以内)
概述: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。 适用性: 1、当一个类不知道它所必须创建的对象的类的时候。 2、当一个类希望由它的子类来指定它所创建的对象的时候。 3、当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一信息局部化的时候。 参与者:原创 2016-09-30 19:40:50 · 634 阅读 · 0 评论