zoukankan      html  css  js  c++  java
  • 对编程的思考

    编程, 就是用计算机来解决实际业务问题. 这里就有两个问题空间: 计算机空间和业务空间.

    在业务空间里, 我们使用计算机语言, 算法来对业务问题进行建模.

    在计算机空间里, 我们使用计算机资源(硬件设备, 操作系统, 数据库, 其他库等)让用户能够通过鼠标键盘等来操纵业务空间中的对象. 在计算机空间中有一个重要问题, 就是计算机资源是有限的, 而业务空间是无限的,  显然, 在某一时刻, 计算机空间只能展现业务空间的一部分, 我们的一个重要问题就是用这有限的资源来模拟无限的业务空间. 比如: 在一个3D程序中有大量3D物体, 用户认为所有的屏幕之外的3D物体都是随时存在的, 而在计算机空间中, 显存不可能把所有3D物体都加载进来, 只可能加载一部分.

    计算机空间是View, 业务空间是Model, 中间需要Model和View转换的映射ModelViewMapping

    关于Model和View的关系:

    1. 1个Model对应n个View
    2. Model发出事件, View根据事件进行更新
    3. ModelViewMapping和View一一对应
    4. ModelViewMapping负责将View空间数据Model空间数据之间的相互转换
    5. View展现Model的全部或者一部分
    6. View和用户交互, 用户通过View操作Model
    7. View负责管理和释放计算机资源

    集合与个体的关系

    容器与元素的关系

    海量数据

    计算机的3个重要指标是频率,带宽和容量, 频率代表速度, 带宽代表传输, 容量则代表存储. 同样软件中的对象也大致可分为:

    1. 数据处理型 : 算法是关键, 生命周期短, 短暂持有临时数据, 不共享
    2. 数据传输型 : 标准和兼容是关键
    3. 数据存储型 : 数据结构是关键, 长时间存储, 可以共享当要注意同步
  • 相关阅读:
    函数1
    函数
    VC++中GDI和GDI+ 的坐标系统介绍
    CWnd与HWND的区别与转换
    VC++下的Unicode编程
    VS 和Visual Assist X快捷键(转)
    VC中CRect类的简单介绍
    ListControl的用法
    VC:GetWindowRect、GetClientRect、ScreenToClient与ClientToScreen
    VC中CDC与HDC的区别以及二者之间的转换
  • 原文地址:https://www.cnblogs.com/mrfangzheng/p/1236285.html
Copyright © 2011-2022 走看看