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. 数据存储型 : 数据结构是关键, 长时间存储, 可以共享当要注意同步
  • 相关阅读:
    Xshell远程连接工具
    Linux系列之常用命令整理笔录
    板卡
    禅道Bug等级划分标准
    CPU与GPU的区别
    PICT用例组合工具简介与使用教程
    alpha测试和beta测试的区别
    性能基础知识学习之八---loadrunner中run-time setting常用功能
    性能基础知识学习之七---loadrunner压测
    性能基础知识学习之六---socket接口测试
  • 原文地址:https://www.cnblogs.com/mrfangzheng/p/1236285.html
Copyright © 2011-2022 走看看