超炫网站欣赏,版权申请网站,济南有做五合一网站公司,做虚拟币网站需要什么手续根据讲师所讲做了一下笔记以便自己能方便学习#xff1a;------------------------------------------grasp设计模式#xff1b;grasp(general responsibility assignment software patterns:通用职责分配软件模式)模式相对于gof23模式更加抽象#xff0c;它的核心思想…根据讲师所讲做了一下笔记以便自己能方便学习------------------------------------------grasp设计模式grasp(general responsibility assignment software patterns:通用职责分配软件模式)模式相对于gof23模式更加抽象它的核心思想职责如何分配和如何用用职责设计对象它的五个基本模式---信息专家、创建者、高内聚、低耦合、控制器四个扩展模式;---多态性、纯虚构、间接性、防止变异------------------------------------------------------------------信息专家职责分配给那个对象要看这个职责所需要的信息是哪个对象所拥有的拥有资源的对象才有资格执行职责这也体现了对象封装的概念。信息的拥有者同时就是对象的操作者可以减少不必要的类之间的关联体现了设计原则类的单一职责。---------------------创建者类的实例应该有谁来创建创建的职责应该交给谁b_a:包含聚集、记录、频繁使用、有出事化数据优点整个结构很清晰有利于类或组件的使用防止职责分散(信息专家)降低耦合度---------------------高内聚解决一个怎样才能降低类的复杂度简化控制我们赢将紧密相关的功能或职责分配给同一个类(各司其职)优点聚集相关的功能结构清晰容易理解。类的单一使得简化。-----------------------低耦合如何降低类之间的关联程度能适应需求变化为类分配职责时应该尽量降低类之间的关联关系使得系统中某一部分的变化对其他部分影响降低到最低-----------------------控制器在UI之外应该由哪个类处理系统的事件呢。把系统事件处理的职责分配给controller类好处防止同类职责的分散满足高内聚低耦合原则变化的高度适应能力-----------------------多态性如何创建可插拔的软件构件。当相关选择或行为岁类型有所不同时使用多态操作作为变化的行为类型分配职责。-----------------------纯虚构有时候不想违背高内聚低耦合的目标但信息专家模式提供的解决方案又不合适时。solution:对人为制造的类分配一组高内聚的职责该类并不代表问题领域的概念-虚构的事物用以支持高内聚低耦合和复用。个人理解为了达到更好的设计而虚构出来的对象来去行使某些不好分配的职责。比如gof中命令模式我们虚构出一个类来存储命令以实现排队功能。gof设计模式全都是纯虚构。为了更好的解决问题虚构出来的类------------------------间接性比如终结者、adapter适配器都起到了简介的效果------------------------防止变异为了不让对象内部的变化或不稳定性不会对其他元素产生不良影响(实际高内聚)我们可以通过创建稳定的接口来解决就是所说的针对接口编程而不是针对实现编程。像封装、多态、接口、虚拟机、配置文件都是为了这个哪里动就封装哪里以至于不影响其他的相关联的对象同样也是为了更好的变化和扩展。使之更稳健。