我是一个初入设计的人,还是一个学生,从事过一段的时间的开发。从看过“设计模式”后,对设计模式产生了浓厚的兴趣,就像我去年看《数据结构》一样,一个就是一年的时间,很值!像是一个沙漠中的远行者,终于找的了一口井水。也许,他能说明程序员对编程的喜爱。

给我带来了不少的想法,令我苦恼。

想法:

我在一个半医半计算机的学校上过,产生了一个这样的想法。(大家分享下,评论下)

如果我们把人看作是一个软件程序,人有:思想、神经网络、骨骼肌、骨骼、器官及组织等(也包括一些坏、死的组织)。

人是有生命周期,软件程序有软件使用周期。

人在生命周期内是活存在的,软件程序在软件使用周期内是变化存在的。如果一个人能适应环境的变化存在,更进步人怎样延长自己的生命周期(例如,定时查体,将来的克隆技术应用);软件程序的软件周期怎样才能延长呢?

在现实世界中,就有一个规则叫:抽象。从抽象我们可以联想到集合。

在集合中我自己要一个这样的总结:“无形的事物,有形的规则,这就是世界。”

我引入集合和规则。先说下对集合认识。

在计算机中有一个词叫:“粒度”,我对它这方面的认识是集合化的程度。粒度越小,集合越小,规则越多;反之,集合越大,规则越少。从集合的关系讲,如果我们要求可复用,出现相同集合的关系很低;只存在包含和被包含的关系。除了人这个整体集合,他的不同的子集合之间都有相同的规则和不同的规则。

在人中的规则,(粒度大点)可以解释成:神经发布、骨骼分局、骨骼肌的运作方式、器官和组织的功能和一些坏死的组织的坏点;还有一个最重要的思想,它是规则中(部分)规则的产生源。可以说成是骨肉的运作结构。那软件程序中含的规则,就可以说成是数据的运作结构,简称“数据结构”。

人可以适应环境而活存在,是因为他有人这个整体的集合和骨肉的运作结构;所以,软件程序须有“数据”和“数据结构”才能变化的存在。

人能延长他的生命周期,就需要一个好的个体和好的骨肉运作结构(及治疗、更换);软件程序要延长软件使用周期,就需要建立一个好的“数据”和“数据结构”(及时更换)。

我任务面向对象的设计模式只是“数据结构”的一个分支,只是一个解决局部问题的方法,盲人摸象,冰山一角,罢了。分析一个软件程序应该从集合入手,数学思想更新周期慢,相对稳定,如果用数学的思想设计,能提高一个软件的使用时间。“数据”理解为集合对象的数据,“数据结构“理解为架构,设计模式,集合的规则等。

个人看法(设计思想)相关推荐

  1. 16种设计思想 - Design for failure

    目录 1.防御性设计(Defensive Design) 2.边界情况(Edge Case) 3.防误措施(Mistake Proofing) 4.解耦(Decoupling) 5. 舱壁模式(Bul ...

  2. 16 种设计思想 – Design for failure

    一直在说互联网系统应该是design for failure,今天看到的这篇文介绍的虽是简单几句话,但妥妥的设计思想,还是蛮契合SRE精髓.作为一名designer或者developer,应该要对墨菲 ...

  3. 《Spring设计思想》AOP设计基本原理

    0.前言 Spring 提供了AOP(Aspect Oriented Programming) 的支持, 那么,什么是AOP呢?本文将通过一个另外一个角度来诠释AOP的概念,帮助你更好地理解和使用Sp ...

  4. AI框架精要:设计思想

    AI框架精要:设计思想 本文主要介绍飞桨paddle平台的底层设计思想,可以帮助用户理解飞桨paddle框架的运作过程,以便于在实际业务需求中,更好的完成模型代码编写与调试及飞桨paddle框架的二次 ...

  5. 彻底理解OkHttp - OkHttp 源码解析及OkHttp的设计思想

    OkHttp 现在统治了Android的网络请求领域,最常用的框架是:Retrofit+okhttp.OkHttp的实现原理和设计思想是必须要了解的,读懂和理解流行的框架也是程序员进阶的必经之路,代码 ...

  6. Linus 谈 Git 的设计思想,顺带骂了一堆人(视频)

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废 今天是周末,但也别忘记学习哦~ 昨天在网络上看到一个视频,<Linux介绍git的特点和设 ...

  7. 「完结」总结12大CNN主流模型架构设计思想

    http://blog.sina.com.cn/s/blog_cfa68e330102zocn.html 专栏<CNN模型解读>正式完结了,在这一个专栏中,我们给大家回顾了深度学习中的各类 ...

  8. MapReduce原理与设计思想

    转自:http://www.cnblogs.com/archimedes/p/mapreduce-principle.html 简单解释 MapReduce 算法 一个有趣的例子 你想数出一摞牌中有多 ...

  9. len(x) 击败 x.len(),从内置函数看 Python 的设计思想

    内置函数是 Python 的一大特色,用极简的语法实现很多常用的操作. 它们预先定义在内置命名空间中,开箱即用,所见即所得.Python 被公认是一种新手友好型的语言,这种说法能够成立,内置函数在其中 ...

  10. 【设计思想解读开源框架】java监听模式和观察者模式

    深耕技术,啃下22个技术点 互联网行业更新换代非常快,行业常态便是不断学习,因此这些主流技术你一个都不能落下! ①并发编程 Java并发编程是整个Java开发体系中最难以理解,但也是最重要的知识点之一 ...

最新文章

  1. 聊聊flink的OperatorStateBackend
  2. Facebook推出Pythia 开源 可用于图像及语言分析
  3. bootstrap table无法服务器分页_[精选] MySQL百万数据,你如何用分页来查询数据
  4. Reactor和Proactor对比以及优缺点 (netty的底层原理reactor模型)
  5. ubuntu mysql 二进制安装_ubuntu18.04手动安装二进制MySQL8.0
  6. vcpkg安装_以太坊2.0客户端(Prysm,lighthouse)安装体验
  7. java sql变更存储,MySQL更改数据库数据存储目录,mysql数据存储
  8. XCode出现Could not locate device support files的解决办法
  9. Ubuntu 更改鼠标滚轮速度
  10. 脸型测试软件在线测试,脸型测试软件最新版
  11. 【Python】pandas的使用——CSV文件、Excel文件、TXT文件之间的转换
  12. 学生用计算机中怎样输入分数,职称计算机考试Excel中输入分数技巧
  13. NS3入门:第一个程序first.cc
  14. 自定义返回上一步idea快捷键
  15. 基于微信小程序的校园食堂窗口自助点餐系统#毕业设计
  16. Linux之集群部署(超简单!)
  17. 一般处理程序的局限性
  18. 欧氏距离,马氏距离(转载)
  19. IDEA 2021/2022 修改启动画面及设置编辑器背景图片
  20. php右小角弹出框,js右下角弹出提示框示例代码

热门文章

  1. tomcat查看项目访问端口
  2. 【Marva Collins' Way】第一章
  3. vps系统服务器,vps系统和云服务器
  4. Maven的安装配置及IDEA配置(图文教程)
  5. 转:九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)
  6. 双亲委派模型是什么?
  7. 什么是陀螺仪的dr算法_一种基于DR/GPS/MM的组合定位系统数据融合算法
  8. 【学习笔记】山东大学生物信息学-05 高通量测序技术介绍 + 06 统计基础与序列算法(原理)
  9. 计算机网络应用技术小结
  10. Proteus中的继电器在哪里