• 有铭
    2019-07-23
    老师,我知道你这章讲了很厉害的东西,但是我也只能和上面某人说的一样,说一声:“不明觉厉”。原因不在别的,抽象现实需要对现实有很长时间的切身体会,必须要经历痛苦,有痛彻灵魂,深刻的总结,才能体会到解决方案的甜美。这里的大部分人,包括我在内,没有在实践里经历“从头构建一个画图”程序。所以对于这章的知识,看得懂,但是难有感悟,换个场景,就使不出来

    作者回复: 理解,我想一下怎么才能说得更明白。这里面每一个角色的分解是有非常明确的套路可循,遵循文章中说的几个要点即可。

    
     14
  • Being
    2019-07-27
    实战一二的例子套用前面的知识点,对MVC的理解慢慢清晰了。更重要的是在实战的学习中也结合现在自己手头的项目进行思考。现在在做地图方面结合图元的绘制,目前的平台是Qt。我负责的是图元模块,即要对图元抽象并且使用Qt的绘制方法,当然,对于Qt的部分是严格控制在绘制部分的,也是考虑了跨平台的因素。图元部分其实是抽象了接口的,对于上层的调用完全不用关心底层绘制是用的什么平台。整个项目也是明确了几个模块来管理和组织事件、绘制、地图数据、资源引擎、算法等。仔细考虑下来,也是绕不开MVC给的模式的。有一个很明显的感受是,关于Controller层,是可以扩展成插件的,也就是说,Controller基于业务上的各种需求,也需要更大的灵活性。思考是,完全可以把事件管理起来,抽象出事件核心驱动,然后分配给各个Controller各取所需,至于是插件还是观察者,其实就是具体实现机制的区别了。

    作者回复: 我们这个例子其实controller都是插件,只是在init application的时候创建一下就完了,是不是实现成标准plugin机制不是关键点

    
     3
  • Taozi
    2019-07-24
    多看几遍代码,先看v26分支,已经明朗很多了。谢谢。
    
     2
  • 许童童
    2019-07-23
    每一个字都看得懂,但连到一起就看不懂了。

    作者回复: 明白。这些反馈对我很有收益。

    
     2
  • Geek_e55641
    2019-08-08
    流程图能够更清晰表示需求,组件图能够表示模块划分,类图显示设计依赖
    希望能用通用表示法,纯文字不太好理解
    
     1
  • Demon.Lee
    2019-07-27
    我也没怎么看懂,估计是不会前端,看的时候我一直在告诉自己: 老师是要告诉我们,解耦,解耦,解耦!

    作者回复: 嗯,后面可以看一个不解耦的版本

    
     1
  • 3k
    2019-07-26
    MVC相对简单,可以讲讲微服务模型之类的架构么?

    作者回复: 这个在下一章,服务端架构

    
     1
  • Charles
    2019-07-24
    许老师,我反复读了好久还是有点懵懂,可能要先去读下完整的源码再回来读可能好一些?

    作者回复: 最好能够先大致看一下代码

    
     1
  • 我的腿腿
    2019-07-23
    最近在看GoF的设计模式,里面也是用图形界面做例子引入某某模式,和作者的不谋而合,不过还是太抽象了!感觉在爬一座充满荆棘的山

    作者回复: 本例中什么地方没看懂?

    
     1
  • 瓜瓜
    2020-01-17
    interface Controller {
      stop(): void
      onpaint(ctx: CanvasRenderingContext2D): void
    }
    这个接口是默认的吗??

    作者回复: 何为默认?

     1
    
  • 瓜瓜
    2020-01-17
    interface Shape {
        onpaint(ctx: CanvasRenderingContext2D): void
        bound(): Rect
        hitTest(pt: Point): {hitCode: number, hitShape: Shape}
        setProp(key: string, val: any): void
        move(dx, dy: number): void
    }
    老师您好,readme中的这个接口,没有看到在什么地方呢,是不是我理解的不对
    展开

    作者回复: 因为js是动态类型语言,所以这个接口只出现在文档中

     1
    
  • 糊李糊涂
    2019-09-03
    许大 这部分还是讲的有点 凌乱,我这写了4年web 愣是捋了半天,可能这种例子适合视频讲吧

    作者回复: 这块可能是因为我自己的背景的原因,有些知识想当然认为比较容易理解。后面还会就这个案例进行补充讲解。

    
    
  • zKerry
    2019-08-26
    接口之间的调用关系,最好用流程图啊,看图表有点懵。

    作者回复: 这里侧重点是模块边界,不是流程

    
    
  • 闫飞
    2019-08-16
    文中的表格是用VSCode自动生成的吗还是贴的图片?能否分享一下。

    描述静态结构确实UML会更直观一点

    作者回复: 是vscode

    
    
  • Geek_8476da
    2019-08-06
    感觉好难啊
    
    
  • Aaron Cheung
    2019-07-28
    补打卡 27
    
    
  • 刘宗尧
    2019-07-25
    能类比一下移动的操作系统吗?android或者ios

    作者回复: 是说它们有什么差异?站在我们架构分析的纬度,两者大同小异

    
    
  • 梦醒十分
    2019-07-24
    好文章需要多看几遍。
    
    
  • Charles
    2019-07-24
    另外有个建议,文中的类、方法、事件这些用uml图或自定义流程图之类的表达会不会更直观一些?

    作者回复: 主要我们的侧重点是子系统(或模块)之间的耦合,所以并没有把关注点放在流程上

    
    
  • 吴
    2019-07-23
    有深度,模模糊糊懂,具体细节不太明白,没做过cs端的估计也看不懂

    作者回复: 其实这个程序虽然是b/s结构的,但是实质上是单机版本的,只需要看js代码即可

    
    
我们在线,来聊聊吧