前言
观察者模式又被成为发布-订阅模式, 属于行为型设计模式的一种,是一个在项目中经常使用的模式。
定义
定义对象间一种一对多的依赖关系,每当一个对象改变状态时,则所有依赖它的对象都会得到通知并被自动更新。
使用场景
- 关联行为场景。需要注意的是,关联行为是可拆分的,而不是“组合”关系。
- 事件多触发场景。
- 跨系统的消息交换场景,如消息队列、事件总线的处理机制。 more >>
grantss的小窝
观察者模式又被成为发布-订阅模式, 属于行为型设计模式的一种,是一个在项目中经常使用的模式。
定义对象间一种一对多的依赖关系,每当一个对象改变状态时,则所有依赖它的对象都会得到通知并被自动更新。
建造者模式也被称为生成器模式,它是创建一个复杂对象的创建型模式,它将构建复杂的对象过程和它的部件解耦,使构建过程和部件的表示分离开来。例如我们自己要
DIY 一台台式计算机。我们找到 DIY 商家,这是我们要求这台计算机的CPU
、主板、或者其他部件都是什么牌子、什么配置的,这些部件是可以根据我们自己的需求来变化的。我们只需要提供相关部件的牌子和配置就可以了。对于这种情况我们的可以采用建造者模式,将部件和组装过程分离,使得构建过程和部件都可以自由拓展,两者之间的耦合也降到最低。
将一个复杂的对象结构与它的表示分离,使得同样的构建过程可以创建不同的表示。
需要创建一些复杂对象,这些对象内部组成构件间的建造顺序是稳定的,但是对象的内部组成构件面临复杂的变化时。
more >>定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。
对于简单工厂模式,我们知道其在工厂类中包含了必要的逻辑判断,根据不同的条件来动态实例化相关类。对于客户端来说,这去除了与具体产品的依赖;但于此同时也带来了一个问题:如果我们要增加产品,比如我们要生产苹果计算机,就需要在工厂类中添加一个
Case
分支条件,这违背了开放封闭原则,对修改也开放了。而工厂方法模式就没有违背这个开放封闭原则。如果我们需要生产苹果电脑,则无需修改工厂类,直接创建产品即可。
Product
接口。Product
类型的对象。ConcreteProduct
实例。保证一个类仅有一个实例,并提供一个访问它的全局访问点。
在一个系统中,要求一个类有且仅有一个对象,具体使用场景如下:
- 整个项目需要一个共享访问点或共享数据。
- 创建一个对象需要耗费的资源过多,比如访问 I/O或者数据库等资源。
- 工具类对象。 more >>
本文词汇表按照字母顺序排序
要使用
Mapbox
的任何工具,API
或SDK
,您需要一个Mapbox
access token。Mapbox
使用access token将API
资源请求与您的帐户相关联。您可以在 access token page 上找到所有access token,创建新令牌或删除现有令牌。
以下是我们的
API
中的access token page:
https://api.mapbox.com/v4/mapbox.emerald/page.html?access_token=pk.eyJ1Ijoiemhvbm5ncGVuZyIsImEiOiJjam5rMXhzNjYwbG1wM3BtenNpczV0NXgxIn0.RmIRNHLPKgyJtDvrWhiQQg
创建访问令牌时,您可以选择为其提供一组零个或多个范围,这些范围定义该令牌可以访问哪些
Mapbox API
以及可以使用哪些方法来访问它们。
如果要看理论的童鞋点击这里 redux中文文档 或者 redux官方文档 ,本文不会太刻意去介绍大篇幅的理论,本文不做框架之间的对比,只给想学redux
的童鞋提供实质的、高效的、易理解的学习参考资源,分享自己在学习过程中的得到。文章更新完后会比较长,请耐心阅读理解,仔细品味。不熟悉redux
也没关系,可以跟着文章思路,将三个demo
敲完,相信你一定获益匪浅。(文后有彩蛋 )。
redux
基本使用 (附demo) redux
Middleware
使用(附demo)redux
集成 navigation
(附demo)
模仿官方 Todos demo 的react native
版。
模仿官方 async demo 的react native
版。
集成react-native-navigation
后把前两个domo
综合。
笔者在V2版之前使用的版本是 1.5.1
,现项目中升级到2.6.2
。以下是我使用这两个版本的一些经验,分享给大家,希望节省大家一些宝贵的时间。
升级前:
1 | import { StackNavigator, TabNavigator, DrawerNavigator} from 'react-navigation' |
升级后:
1 | import { createStackNavigator, createBottomTabNavigator, createDrawerNavigator } from 'react-navigation' |
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true
2018-11-22
#Java#设计模式
2018-11-17
#Java#设计模式
2018-11-16
#Java#设计模式
2018-11-14
#Java#设计模式
2018-11-13
#Java#设计模式
2018-11-13
#Java#设计模式
2018-11-07
#地图#Mapbox#翻译
2018-10-31
2018-10-13
#react native#Redux#状态管理
2018-10-10
#react native#react navigation#升级
2018-10-10
#react native#第三组件#安装#卸载
2018-10-10
#CSS
2018-10-10
#react native#国际化#多语言