印客学院
用户9618
添加快捷方式
分享
15. 设计模式(7题)
输入“/”快速插入内容
15.
设计模式(7
题
)
用户9618
用户9618
用户5599
用户5599
用户9254
用户9254
2月4日修改
1.
观察者模式和发布订阅模式分别是什么?有什么区别?
观察者模式:一个对象(观察者)订阅另一个对象(主题),当主题被激活的时候,触发观察者里面的事件。
发布订阅模式:订阅者把自己想要订阅的事件注册到调度中心,当发布者发布事件到调度中心(就是该事件被触发),再由调度中心统一调度订阅者注册到调度中心的处理代码。
对比一下:
可以发现两种模式下的角色数量不一样:
•
观察者模式里,只有两个角色:观察者 和 被观察者
•
发布订阅模式里,却不仅仅只有发布者和订阅者两个角色,还有一个调度中心
从使用场景上:
•
观察者模式比较适合在单个应用内部使用
•
发布订阅模式则是比较适合跨应用的场景
2.
开发的过程中你用到过哪些设计模式?
参考答案:
设计模式是一种被广泛接受并经过验证的面向对象软件开发中的最佳实践。它们提供了一套解决常见问题的可重用设计方案。
以下是一些常用的设计模式:
1.
单例模式(Singleton):确保一个类只有一个实例,并提供全局访问点来获取该实例。
2.
工厂模式(Factory):通过工厂方法创建对象,而不是直接使用
new
操作符。这样可以隐藏具体实现,并根据需要创建所需类型的对象。
3.
观察者模式(Observer):定义了一种一对多的依赖关系,当一个对象状态发生改变时,它的所有依赖者(观察者)都会收到通知并自动更新。
4.
装饰器模式(Decorator):动态地将责任附加到对象上。通过将对象包装在装饰器对象中,可以在运行时为对象添加新的行为。