还原真实的MV*模式(转)

本文转自https://github.com/livoras/blog/issues/11 

前言

做客户端开发、前端开发对MVC、MVP、MVVM这些名词不了解也应该大致听过,都是为了解决图形界面应用程序复杂性管理问题而产生的应用架构模式。网上很多文章关于这方面的讨论比较杂乱,各种MV模式之间的区别分不清,甚至有些描述都是错误的。本文追根溯源,从最经典的Smalltalk-80 MVC模式开始逐步还原图形界面之下最真实的MV模式。

GUI程序所面临的问题

图形界面的应用程序提供给用户可视化的操作界面,这个界面提供给数据和信息。用户输入行为(键盘,鼠标等)会执行一些应用逻辑,应用逻辑(application logic)可能会触发一定的业务逻辑(business logic)对应用程序数据的变更,数据的变更自然需要用户界面的同步变更以提供最准确的信息。例如用户对一个电子表格重新排序的操作,应用程序需要响应用户操作,对数据进行排序,然后需要同步到界面上。

在开发应用程序的时候,以求更好的管理应用程序的复杂性,基于职责分离(Saparetion of Duties)的思想都会对应用程序进行分层。在开发图形界面应用程序的时候,会把管理用户界面的层次称为View,应用程序的数据为Model(注意这里的Model指的是Domain Model,这个应用程序对需要解决的问题的数据抽象,不包含应用的状态,可以简单理解为对象)。Model提供数据操作的接口,执行相应的业务逻辑。

MV*M架构模式示意图

有了View和Model的分层,那么问题就来了:View如何同步Model的变更,View和Model之间如何粘合在一起。

带着这个问题开始探索MV模式,会发现这些模式之间的差异可以归纳为对这个问题处理的方式的不同。而几乎所有的MV模式都是经典的Smalltalk-80 MVC的修改版。阅读 “还原真实的MV*模式(转)”

发表评论

《手把手教你读财报2-18节课看透银行业》-笔记一

财报是用来排除公司的,我们看年报,主要看资产负债表,看现金流,然后根据国家政策,公司的发展方向市场情况去决定是否买一个公司股票。这就好像一个女孩挑选自己的未来的丈夫,会看各个方面。

乐视的为梦想窒息的口号,但是当你现金流断了的时候,绝对是面临死亡的窒息是不对的。但是看银行,去看现金流,银行是一个“印伪钞”单位,这种方式去看银行,绝对是错误的。

银行是怎么印伪钞的,这里我们要明白一个概念,“法定存款准备金

法定存款准备金

银行的监管机构规定了银行增加存款时,必须按照一定比例上缴以备提取。这部分强制缴纳的钱叫“法定存款准备金”。这个缴纳比例叫“法定存款准备金率”。法定存款准备金具体按照什么比例缴纳,由中国人民银行制定。

阅读 “《手把手教你读财报2-18节课看透银行业》-笔记一”

发表评论

怎么去定投指数基金

懒惰而爱做白日梦的我们

Hello,大家好,作为普通大众,我们的收入基本是我们的工资,但是并没有稳定的工作,那为了能够静静的看看日落,我们需要使我们的钱能够创造更大的价值,一方面我们可以用来消费,提高自己生活品质,另一方面可以投资自己,学习。

投资的方式千万种,但有些人就是想用钱赚钱,而能看到实实在在的数字,自己操控,感觉踏实 。那该怎么办了,在中国投资的渠道又太少,买股票,里面的道道太多,关键是自己看不懂,没有能力。就是一个字,“”。

懒惰的我们

但是懒人的钱好赚,科技的发展会使我们越来越懒。我们看不懂股票,看不透走势,我们只想怎么赚钱。赚钱难啊。在中国股市中,炒股的人,7赔1赚1平 。

很多人想保值,跑赢cpi,跑赢gdp.  于是在牛市的到来,疯狂几个月,失落几个月,最终上天台。心里面来了一句,我家住在黄土高坡。风好,水也好。阅读 “怎么去定投指数基金”

发表评论