Skip to content

Instantly share code, notes, and snippets.

@HellMagic
Created January 6, 2017 11:22
Show Gist options
  • Select an option

  • Save HellMagic/74660f100b7e37796e7082dd22a10fa3 to your computer and use it in GitHub Desktop.

Select an option

Save HellMagic/74660f100b7e37796e7082dd22a10fa3 to your computer and use it in GitHub Desktop.
对一些问题的提问,需要时不时地咀嚼一下!
在哪里? 怎样? 去维护 UI 当中的状态?
业务逻辑在应用的什么地方? 怎样被调用?
怎样保证 UI 跟数据的改变同步? 还有 UI 元素之间相互同步?
怎样保证对我们关心的代码做分离, 来降低可测试代码的耦合?
从V出发,从“层”和“模块”两种视角分析。模块的话简单就是为了“合理拆分”,通过“组合”的原理,降低复杂度。V的复杂度:app->page->module->component->element
更多的是“层”方面的思考?V -- (String) = template + data
动态填充:a.init b.other lifecyle
本质:对“交互”做出响应(其实更抽象的说法,定义成“事件”比较好,因为有些改变不一定需要人为来操作,随时间变化而变化就是一个例子,使用“事件”的说法也和浏览器的事件
机制保持一致),在V上体现出改变。
观察者是委托者,是等待被调用的函数。可以通过“被动注册上交listener函数”或者“主动监听on某些事件”
都有哪些问题???--整个web开发的过程是什么样子的???
1.怎么规划
web开发是一个领域,是一个场景。在这个领域下,又有许多细分的业务领域--医疗,教育,社交。。。--除了基于web开发,还有移动,桌面,硬件。。。写框架、写lib、
写协议、写驱动、写操作系统--都会遇到不同的问题,有些不同领域的问题有共同点又可以被抽象,提炼出一种模式来解决,但是无论如何,在接触一个新技术的时候先比较
了解清楚--它的背景、历史、解决的问题、适合的场景、优势劣势--其次就是非常清楚自己的技术需求,知道自己建立的产品模型会是一个什么发展模式,会遇到哪些问题
--抽象出来的问题,特定领域的问题!不断问这几个问题--等“场景”,其实一些技术栈、编程思维方式、编程模式都要先找到对应的“场景”!!!不要一上来就套用!!!
--因为目前自己只在web上有少许经验,所以需要多跨领域(业务领域,软件工程不同类型的领域)去尝试理解不同的问题,这样才能理解不同的范式/模式!
模型是一种代表整个应用程序状态的常量值(state),更新是一种获取当前模型和消息(消息是一种描述模型所期望变化的常量值)并返回修订后模型的函数(reducer),
视图是一种接受当前模型并返回所需DOM结构表征的函数(render)。所有应用程序逻辑均通过更新函数实现,所有渲染逻辑都通过视图函数实现,所有应用程序状态均存储在模型中。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment