设计模式
文章平均质量分 69
出世&入世
专注于计算机毕设开发、定制、文档编写指导等,对软件开发具有浓厚的兴趣,工作之余喜欢钻研技术,关注IT技术的发展趋势,感谢大家的关注与支持。
展开
-
行为型模式之策略模式
电商中,对商品的价格计算是比较麻烦的,不同等级的会员,折扣、优惠券、运费券、积分(不同等级的会员积分兑换的金额可能不一样),当用户下单或者商品详情页展示商品价格时,就需要根据不同的等级来计算商品价格。从上面的例子可以看出,在计算商品价格的业务代码中,并不会引入太多的if-else条件判断,且对于不同的策略/算法可以随时切换,这对于业务代码的解耦是相当有帮助的。此角色给出所有的具体策略类所需的接口。这种情形,就适合使用策略模式,我们根据不同的情况,将不同的算法封装成不同的策略,将策略与它的使用对象分离开来。原创 2023-03-04 11:35:33 · 470 阅读 · 0 评论 -
设计模式面试题(六):设计模式之策略模式和观察者模式
九、策略模式1、什么是策略模式定义了一系列的算法 或 逻辑 或 相同意义的操作,并将每一个算法、逻辑、操作封装起来,而且使它们还可以相互替换。 (其实策略模式 Java 中用的非常非广)我觉得主要是为了 简化 if...else 所带来的复杂和难以维护2、策略模式应用场景策略模式的用意是针对一组算法或逻辑,将每一个算法或逻辑封装到具有共同接口的独立的类中,从而使得它们之间可以相互替换。例如: 我要做一个不同会员打折力度不同的三种策略,初级会员,中级会员高级会员 (三种不同的计算)原创 2023-02-03 16:33:59 · 465 阅读 · 0 评论 -
设计模式面试题(五):设计模式之模板方法模式、外观模式和原型模式
六、模板方法模式1、什么是模板方法模板方法模式: 定义一个操作中的算法骨架(父类),而将一些步骤延迟到子类。模板方法使得子类可以不改变一个算法的结构来重定义该算法的。2、什么时候使用模板方法实现一些操作时,整体步骤很固定,但是呢,就是其中一小部分需要改变,这时候可以使用模板方法模式,将容易变的部分抽象出来,供子类实现。3、实际开发中应用场景哪里用到了模板方法其实很多框架中都有用到了模板方法模式。例如: 数据库访问的封装、Junit 单元测试、servlet 中关于 doGet/doPost原创 2023-02-03 15:08:18 · 337 阅读 · 0 评论 -
设计模式面试题(四):设计模式之建造者模式
五、建造者模式1、什么是建造者模式建造者模式: 是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的方式进行创建。工厂类模式是提供的是创建单个类的产品而建造者模式则是将各种产品集中起来进行管理,用来具有不同的属性的产品建造者模式通常包括下面几个角色:1、 uilder: 给出一个抽象接口,以规范产品对象的各个组成成分的建造。这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的对象部件的创建。ConcreteBuilder: 实现 Builder 接口,针对不同的商原创 2023-02-02 23:35:39 · 362 阅读 · 0 评论 -
设计模式面试题(三):设计模式之代理模式
四、代理模式1、什么是代理模式通过代理控制对象的访问,可以在这个对象调用方法之前、调用方法之后去处理/添加新的功能。(也就是 AO 的 P 微实现)代理在原有代码乃至原业务流程都不修改的情况下,直接在业务流程中切入新代码,增加新功能,这也和 Spring 的 (面向切面编程)很相似2、代理模式应用场景Spring AOP、日志打印、异常处理、事务控制、权限控制等3、代理的分类静态代理(静态定义代理类)动态代理(动态生成代理类,也称为 Jdk 自带动态代理)Cglib 、原创 2023-02-02 20:53:40 · 241 阅读 · 0 评论 -
设计模式面试题(二):设计模式之工厂模式
三、工厂模式1、什么是工厂模式它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。实现了创建者和调用者分离,工厂模式分为简单工厂、工厂方法、抽象工厂模式。2、工厂模式好处工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替 new 操作的种模式。利用工厂模式可以降低程序的耦合性,为后期的维护修改提供了很大的便利 将选择实现类、创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。原创 2023-02-01 23:02:32 · 576 阅读 · 0 评论 -
设计模式面试题(一):设计模式之单例模式
一、设计模式1、什么是设计模式设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。2、为什么要学习设计模式看懂源代码: 如果你不懂设计模式去看Jdk、Spring、SpringMVC、IO 等等等等的源码,你会很迷茫,你会寸步难行看看前辈的代码:你去个公司难道都是新项目让你接手? 很有可能是接盘的,前辈的开发难道不用设计模式?编写自己的理想中的好代码: 我个人原创 2023-02-01 12:57:48 · 382 阅读 · 0 评论