响应式编程学习(一)初识

定义:

  以对象为载体,以事件响应为交互原则,以声明式与命令式互补为编程原则的一种设计方案。响应式编程的哲学:区分一个物体的条件不是该物体的属性和动作,而是该物体对于不同事件的反应。

 原则:

1:对象的引用关系

  为了避免面向对象模式下 各个对象之间复杂的关系,需要将对象之间的关系 做一些取舍,这样可以避免多个对象相互引用导致的数据流混乱问题,对象之间的关系如下:

    1:对象之间的引用关系仅限父子关系。

    2:优先使用继承而不是属性配置来实现扩展。

 2:对象之间的数据传递

  之所以对象之间的引用关系混乱是因为 面向对象试图为每一个数据传递都搭建坚实的桥梁,然而却导致 立交桥太多造成的蜘蛛网问题,改进如下:

    1:不同对象之间的数据传递统一采用中介者模式

    2:每个类都必须实现中介者模式,方便类内部不同对象通信(即实现中介者模式)

    3:子类不可以跨越父类监听外部事件

3:代码微处理

  通过函数式编程实现程序的可置换性和提高代码的纯度,同时辅以命令式代码 提高编程灵活性。

设计图如下:

如图:

  其中圆角矩形,正方形和圆形都是对象,他们具有嵌套关系,同时我们可以看到两个矩形,这是一个父元素下的两个子元素,这两个子元素之间,如果希望希望完成信息交流,则必须在父类中的中介者上进行沟通。圆形子元素的互相沟通同理。

  将对象的交互简化为对象单纯的发出和响应事件,这样做的好处显而易见,1:不用担心异步问题 2:模块 对象之间的耦合度大大降低,这种设计模式大到系统设计,小的单个模块 单个类的设计都遵循这种规范。

猜你喜欢

转载自www.cnblogs.com/mrzhu/p/12482377.html