java 策略模式 例子-工厂系列模式的优缺点:让用户的代码和某个特定类的子类
工厂系列模式的优缺点: 让用户的代码和某个特定类的子类的代码解耦 用户不必知道它所使用的对象是怎样创建的,只需知道该对象有哪些方法 抽象工厂模式可以为用户创建一系列相关的对象,使用户和创建这些对象的类脱耦 MVC模式是不是一种设计模式?为什么 MVC不是设计模式,应该是框架/架构模式java 策略模式 例子,因为它的定义是抽象的,没有足够的细节描 述使你直接去实现,而只能根据MVC的概念和思想,用几个设计模式组合实现。 举出一个生活中使用装饰者模式的例子,用程序实现思路 举个生活中的例子,俗话说"人在衣着马在鞍",把这就话用装饰者模式的语境翻译一下 ,"人通过漂亮的衣服装饰后,男人变帅了,女人变漂亮了;"。对应 上面的类图,这里人对应于ConcreteComponent,而漂亮衣服则对应于ConcreteDecorato r; 设计模式如何分类,每一个类别都有什么特征? 设计模式分为3类,分别是:创建型模式、行为型模式、结构型模式。 创建型特点:避免用户直接使用new运算符创建对象。 行为型特点:怎样合理的设计对象之间的交互通信,以及怎样合理的为对象分配职 结构型特点:主要用于处理类或对象的组合 Java jdk中使用了哪些设计模式 1.单例2.静态工厂3.工厂方法4.抽象工厂5.构造者6.原型7.适配器8桥接9.组合10.装 饰器11.外观12.享元14.代理15.迭代器16.观察者17.协调者18.模板方法19.策略20.责 任链21.命令22.空对象25.解释器 面向对象的设计原则有哪些? 开闭原则、面向抽象的原则(依赖倒转原则)、多用组合少用继承原则、高内聚- 低耦合原则。
观察者模式的推拉有什么不同?使用场景 推,具体主题将变化后的数据全部交给具体观察者。场景:当具体主题认为具体观察者 需要这些变换后的数据时,往往采用推数据方式; 拉,具体主题不将变化后的数据交给具体观察者,而是提供获得这些数据的方法。场景 :当具体主题不知道具体观察者是否需要这些变换后的数据时,往往采用拉数据的方式 。 策略模式和工厂模式有什么不同? 策略模式定义了一系列算法,将他们一个个封装,并且他们之间可以相互替换; 工厂模式定义一个创建对象的接口,让子类决定实例化哪一个类 5观察者模式的推拉有什么不同?适用场景 现在要说的分歧在这里: "推"的方式是指,Subject维护一份观察者的列表,每当有更新发生,Subject会把更新 消息主动推送到各个Observer去。 "拉"的方式是指,各个Observer维护各自所关心的Subject列表,自行决定在合适的时间 去Subject获取相应的更新数据。 "推"的好处包括: 1、高效。如果没有更新发生,不会有任何更新消息推送的动作,即每次消息推送都发生 在确确实实的更新事件之后,都是有意义的。 2、实时。事件发生后的第一时间即可触发通知操作。
3、可以由Subject确立通知的时间,可以避开一些繁忙时间。 4、可以表达出不同事件发生的先后顺序。 缺点:精确性较差,不能保证能把信息送到客户器。 "拉"的好处包括: 1、如果观察者众多,Subject来维护订阅者的列表,可能困难,或者臃肿,把订阅关系 解脱到Observer去完成。 2、Observer可以不理会它不关心的变更事件,只需要去获取自己感兴趣的事件即可。 3、Observer可以自行决定获取更新事件的时间。 4、拉的形式可以让Subject更好地控制各个Observer每次查询更新的访问权限。缺点: 不能够及时获取系统的变更。 6策略模式和工厂模式有什么不同? 一般情况下,策略模式是为了解决的是策略的切换与扩展,更简洁的说是定义策略族, 分别封装起来,让他们之间可以相互替换,策略模式让策略的变化独立于使用策略的客 户。可以应用的场景有优惠系统、工资计算系统等。而工厂模式主要解决的是资源的统 一分发java 策略模式 例子,将对象的创建完全独立出来,让对象的创建和具体的使用客户无关。主要应用 在多数据库选择,类库文件加载等。很明显的是策略模式是开放的,作为一个主体你的 活动范围是全程的,大多数事情要你自己亲力亲为。
而工厂模式作是封闭的,作为主体 的你的活动范围是有限的,很多事情都帮组你做好了,你直接"点"就可以了。 7装饰者模式和适配器模式的比较 1.关于新职责:适配器也可以在转换时增加新的职责,但主要目的不在此。装饰者模 式主要是给被装饰者增加新职责的。 2.关于原接口:适配器模式是用新接口来调用原接口,原接口对新系统是不可见或者 说不可用的。装饰者模式原封不动的使用原接口,系统对装饰的对象也通过原接口来完 成使用。(增加新接口的装饰者模式可以认为是其变种--"半透明"装饰者) 3.关于其包裹的对象:适配器是知道被适配者的详细情况的(就是那个类或那个接口 )。装饰者只知道其接口是什么,至于, 相关下载链接: