240 发简信
IP属地:广东
  • Resize,w 360,h 240
    Builder Pattern(建造者模式)

    解决的问题 解决演示文稿导出各种格式的问题。假设你有一个演示文稿(Presentation),演示文稿里包含多张幻灯片(Slide),需要实现将...

  • Abstract Pattern(抽象工厂模式)

    解决的问题 假设你要开发一个app,app的界面支持MaterialDesign和Ant两种主题。不同的主题所用的组件是不一样的,例如按钮组件,...

  • Singleton Pattern(单例模式)

    解决的问题 当你需要在代码的每个地方,都能访问到同一个实例时,就可以用Singleton Pattern(单例模式)了。这是最简单的设计模式了。...

  • Prototype Pattern(原型模式)

    解决的问题 以电脑的文件管理app为例,文件夹里有各种类型的文件(文本、图片、视频等),鼠标右键点击文件后,后弹出一个菜单(ContextMen...

  • Resize,w 360,h 240
    Proxy Pattern(代理模式)

    解决的问题 开发一个电子书app,可以这样设计: 每个电子书实例化后,都要占用一些计算机资源(CPU、内存等),那么当电子书多了后,就会有性能问...

  • Resize,w 360,h 240
    Bridge Pattern(桥接模式)

    解决的问题 开发一个电视机遥控器app,要求可以适配各种的电视机品牌(Sony、Samsung等)。遥控器分为基础版和高级版,基础版只能开关机,...

  • Flyweight Pattern(轻量级模式)

    解决的问题 当创建了大量对象,可能会因为使用内存过多而导致性能问题,可以考虑使用 Flyweight Pattern(轻量级模式)。例如,开发一...

  • Decorator Pattern

    解决的问题 为一个类添加更多功能。简单的情形可以使用继承。有些复杂的情况使用继承就比较麻烦了。例如要开发一个保存数据到云端的功能(CloudSt...

  • Adapter Pattern

    解决的问题 开发了一个给照片添加滤镜的功能。假设需要使用第三方的滤镜,但是第三方的滤镜的接口和自己的滤镜不兼容,那么就可以使用适配器模式将第三方...

个人介绍
JavaScript全栈开发者。