本周回顾了面向对象设计模式相关的内容,对面向对象编程的理论有了更高深入的认识。但学习设计模式只知道概念没用,关键是在了解设计模式意图的前提下,通过例子去用这些模式,通过动手实践才能有更深入的认识。
1、封装、继承、多态
面向对象编程最大的好处或者说它的优良特性就是封装、继承、多态。通过封装、接口隔离,决定了内外边界,内部实现变化可以优化调整不影响外部的使用,外部也只需关心少量对外暴露的信息就可以访问使用。尤其是通过继承、多态达到了归一性,进一步简化了调用者的使用方法。从而更好的实现了面向对象编程应对需求变化、简化设计实现的初衷。
2、面向对象的原则
遵循原则才能更好的设计,开闭原则对扩展开放、修改封闭是面向对象设计的最终目标。替换原则子类要能替换父类、依赖倒置原则具体依赖抽象是实现开闭原则的手段。单一职责原则、接口隔离原则、迪米特法则、组合继承原则是有用的实践,可以更简单的实现设计目标。
3、Shiro
Shiro是常用的安全认证框架,相比运用了更多设计模式的Spring Security它更简单易用,因此也被更多在项目上使用,它很好的说明了不要过度的使用设计模式,解决现实的问题最重要,而不要为了模式而模式。
4、设计模式常见问题
https://github.com/iluwatar/java-design-patterns里面FAQ的翻译,学习设计模式可以参考这个项目,很不错。
5、项目中常用的模式
观察者模式的升级版事件监听模式是现在项目用到较多的对象行为模式,因为它能很好地解耦对象间的依赖,通过定义事件、配置监听器、发布事件可以比观察者模式更好的处理多个事件源产生相同的事件以及一个事件源产生多个事件的问题。
工厂方法模式是构造型模式中常用的模式。
代理模式、装饰模式、适配器模式是常用的结构型模式。
6、Java面试
网上面试题很多,最重要的还是要结合自己项目中用到的技术和自己觉得感兴趣重要的技术综合准备考虑。因为找工作不仅是招聘方需要你什么还有你需要招聘方什么,只有两者相匹配,你才能做的长久。