进行java面试,面试官肯定会全方面考核你对java的应用能力,毕竟java是技术活,技能越强,越能解决问题,那今天我们就给大家分享一些关于Java设计模式面试题,给大家提供一些帮助!
1.设计模式六大原则有哪些?
开闭原则:对扩展开放,对修改关闭。即在不修改一个软件实体的基础上去扩展其他功能。
里氏代换原则:在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象。
依赖倒转原则:针对于接口编程,依赖于抽象而不依赖于具体。
接口隔离原则:使用多个隔离的接口取代一个统一的接口。降低类与类之间的耦合度。
迪米特法则(最少知道原则):一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。
合成复用原则:在系统中应该尽量多使用组合和聚合关联关系,尽量少使用甚至不使用继承关系。
2.什么是单例模式?
答:单例模式是一种常用的软件设计模式,在应用这个模式时,单例对象的类必须保证只有一个实例存在,整个系统只能使用一个对象实例。
优点:不会频繁地创建和销毁对象,浪费系统资源。
使用场景:IO 、数据库连接、Redis 连接等。
3.简单工厂模式的优点是什么?
工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品对象的责任,而仅仅“消费”产品;简单工厂模式通过这种做法实现了对责任的分割,它提供了专门的工厂类用于创建对象;
客户端无须知道所创建的具体产品类的类名,只需要知道具体产品类所对应的参数即可,对于一些复杂的类名,通过简单工厂模式可以减少使用者的记忆量;
通过引入配置文件,可以在不修改任何客户端代码的情况下更换和增加新的具体产品类,在一定程度上提高了系统的灵活性。
4.基本的Java编程设计应遵循的规则?
面向接口编程,优先使用对象组合。
5.简述什么是值对象模式,以及他解决的问题,应用的环境,解决的方案,模式的本质?
用来把一组数据封装成一个对象的模式。
解决问题:在远程方法的调用次数增加的时候,相关的应用程序性能将会有很大的下降。
解决方案:使用值对象的时候,可以通过仅仅一次方法调用来取得整个对象,而不是使用多次方法调用以得到对象中每个域的数值。
本质:就是把需要传递的多个值封装成一个对象一次性传过去。
6.如何综合使用我们学过的设计模式来构建合理的应用程序结构?
是采用接口进行隔离,然后同时暴露值对象和工厂类,如果是需要数据存储的功能,又会通过DAO 模式去与数据存储层交互。
设计模式知识点在java中是重点,它是是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。所以我们掌握好这些,就可以在遇到问题时候迎刃而解了!最后大家如果想要了解更多Java面试题知识,敬请关注奇Q工具网。
推荐阅读: