访问者模式要解决的核心问题是在一个稳定的数据结构下,如何增加易变得业务访问逻辑。如何通过解耦增强业务扩展性,简单的说,访问者模式的核心在于同一个事务或办事窗口,不同人办不同的事,各自关心角度和访问的信息是不同的,按需选择。
模板模式的核心设计思路是通过在抽象类中定义抽象方法的执行顺序,并将抽象方法设定为只有子类实现,但不设计独立访问的方法。简单的说就是安排的明明白白。
策略模式是一种行为模式,也是替代if…else的利器。他能解决的场景一般包括具有同类可替代的行为逻辑算法,比如不同的交易方式等。
状态模式描述的是一个行为下的多种状态变更。例如网站的页面,在登录与没有登录的状态下我们看见的内容有时候是不一样的,如果不登录就不能展示某些页面。
简单来讲,观察者模式是指当一个行为发生时,一个用户传递信息,另一个用户接受信息并做出相应的处理,行为和接受者之间没有直接的耦合关联。
备忘录模式是可回复或回滚配置、以版本为核心功能的设计模式,这种设计模式属于应为模式。在功能实现上,是以不破坏原对象为基础增加备忘录操作类,记录原对象的行为,从而实现备忘录模式。
中介者的作用是,当复杂功能应用指尖重复调用时,在中间添加一层中介者包装服务,对外提供简单、通用和易扩展的服务能力。
迭代器模式就像日常使用的Iterator方法遍历。虽然这种设计模式在实际业务开发中用得并不多,但却要使用JDK提供的list集合遍历。另外,增强的for循环语句虽然是循环输出数据,但并不是迭代器模式。迭代器模式的特点是实现Iterable接口,通过next方式获取集合元素,同时具备删除元素等操作功能;而增强的for循环语句是无法实现的。
就像我们以前用手柄按键玩游戏一样,这个游戏的控制方式——按键操作就像命令模式。命令模式虽然在编程开发中用的比较少,但是这种模式在日常生活种却经常用到,例如Ctrl+C和Ctrl+v。
责任链模式的核心是解决一组服务中的先后执行关系,就像出差借款需要审批,5000元以下直接找部门领导、分管领导、财务部门审批,5000元以上需要找更高一级的领导审批。
1 / 3