1. 可以把条目 /** = user 放在过滤链首条吗?有什么影响?
不可以,因为过滤链是有顺序的,如果把/**=user放在首条的话,会拦截静态资源。
2. 为什么开发行业首推Google浏览器来开发?
· 界面整洁美观:采用Google的Material Design设计语言,看起来很舒服,而且整洁的UI有助于提高效率;
· 优秀的JavaScript引擎:Chrome/Chromium浏览器使用了自家的Google V8作为JavaScript引擎。至于这个引擎到底有多优秀,Node.js都用V8做JavaScript引擎,证明它足够优秀;
· 丰富的DevTools:对前端开发人员特别友好(当然Firefox和Safari也不差);
· 完善的账号体系:只要在一台设备上登录Google账号,所有的书签、搜索记录、密码等重要内容,都能完全同步到登录的其他设备上,非常方便;
· 丰富的插件:这个是其他浏览器根本没法比的优势;
· 很多开发者工具都来自于Chromium的开源代码或技术:前端们熟悉的React Native Debugger、Vue Debugger(Chrome插件)、Atom、Visual Studio Code、ndb(Node.js调试工具),Chrome/Chromium已经不再是一个单纯的浏览器项目了,它已经形成了一个生态系统,这一点足够让我兴奋。
3. 什么是设计模式?常用的设计模式有哪些?
设计模式就是经过前人无数次的实践总结出的,设计过程中可以反复使用的、可以解决特定问题的设计方法。
创建型模式
- 工厂模式(Factory Pattern)
- 抽象工厂模式(Abstract Factory Pattern)
- 单例模式(Singleton Pattern)
- 建造者模式(Builder Pattern)
- 原型模式(Prototype Pattern)
结构型模式
- 适配器模式(Adapter Pattern)
- 桥接模式(Bridge Pattern)
- 过滤器模式(Filter、Criteria Pattern)
- 组合模式(Composite Pattern)
- 装饰器模式(Decorator Pattern)
- 外观模式(Facade Pattern)
- 享元模式(Flyweight Pattern)
- 代理模式(Proxy Pattern)
行为型模式
- 责任链模式(Chain of Responsibility Pattern)
- 命令模式(Command Pattern)
- 解释器模式(Interpreter Pattern)
- 迭代器模式(Iterator Pattern)
- 中介者模式(Mediator Pattern)
- 备忘录模式(Memento Pattern)
- 观察者模式(Observer Pattern)
- 状态模式(State Pattern)
- 空对象模式(Null Object Pattern)
- 策略模式(Strategy Pattern)
- 模板模式(Template Pattern)
- 访问者模式(Visitor Pattern)