This commit is contained in:
by931
2022-09-06 22:30:37 +08:00
parent 66970f3e38
commit 3d6528675a
796 changed files with 3382 additions and 3382 deletions

View File

@@ -207,7 +207,7 @@ function hide_canvas() {
<p>刚刚大学毕业的 Tony 只身来到北京这个硕大的城市开始了北漂的生活。但刚刚毕业的他身无绝技、包无分文为了生活只能住在沙河镇一个偏僻的村子里每天坐着程序员专线13号线来回穿梭于昌平区与西城区……</p>
<p>在一个寒冷的冬天下班之后要坐2个小时的地铁+公交才能回到住处Tony 拖着疲惫的身体回到家。准备洗一个热水澡暖暖身体耐何简陋的房子中用的还是90年代的热水器。因为热水器没有警报更没有自动切换模式的功能所以烧热水必须得守着不然时间长了成杀猪烫时间短了又冷成狗。无奈的 Tony 背靠着墙,头望着天花板,深夜中做起了白日梦:一定要努力工作,过两个月我就可以自己买一个智能热水器了:水烧好了就发一个警报,我就可以直接去洗操。还要能自己设定模式,既可以烧开了用来喝,可以烧暖了用来洗澡……</p>
</blockquote>
<p><img src="assets/a01db720-d588-11e7-8257-812093f8cef1.jpg" alt="enter image description here" /></p>
<p><img src="assets/a01db720-d588-11e7-8257-812093f8cef1.jpg" alt="png" /></p>
<h3>用程序来模拟生活</h3>
<p>Tony 陷入白日梦中……他的梦虽然在现实世界里不能立即实现,但在程序世界里可以。程序来源于生活,下面我们就用代码来模拟 Tony 的白日梦。</p>
<p>源码示例:</p>
@@ -287,7 +287,7 @@ class Observable:
</code></pre>
<h4>类图</h4>
<p>上面的代码框架可用类图表示如下:</p>
<p><img src="assets/2bca8d20-d589-11e7-adba-9119e3f0586f.jpg" alt="enter image description here" /></p>
<p><img src="assets/2bca8d20-d589-11e7-adba-9119e3f0586f.jpg" alt="png" /></p>
<p>addObserverremoveObserver 分别用于添加和删除观察者notifyObservers 用于内容或状态变化时通知所有的观察者。因为 Observable 的 notifyObservers 会调用 Observer 的 update 方法,所有观察者不需要关心被观察的对象什么时候会发生变化,只要有变化就是自动调用 update只需要关注 update 实现就可以了。</p>
<h4>基于框架的实现</h4>
<p>有了上面的代码框架之后,我们要实现示例代码的功能就会更简单了。最开始的示例代码我们假设它为 version 1.0,那么再看看基于框架的 version 2.0 吧。</p>