优秀项目代码是怎么构建出来?

写一步算一步?

凭空想象?

回答这个问题之前,先让我们看这么一个场景:搭猪窝or建高楼大厦

搭猪窝

搭一个猪窝,可以这样来操作: 根据猪体型大小,粗略计算出猪窝大概要占几平米。去生活市场购买相应数量的木块、铁锤、尺子、钉子等一些基本物料和工具。物料准备完毕后,使用铁锤和钉子,很快可以利用木块把猪窝的外形搭建好,然后再往里面铺一些稻草。

前后不需几个小时,一个人就完成了从构思到施工的全部过程。这个猪窝只要能够遮风挡雨以及保暖,就满足猪的需求了。哪怕搭建得不够牢固,也完全可以等空闲的时候,再返修一下。

建大厦

假如你要建造一座高层办公大厦,若还是先备好木料、钉子和一些基本工具就开始工作,那将是非常愚蠢的。因为你所使用的资金可能是别人的,他们会对建筑物的规模、外形和风格做出要求。同时,他们经常会改变想法,甚至是在工程已经开工之后。由于失败的代价太高了,因此必须要做详尽的计划。

负责建筑物设计和施工的是一个庞大的组织机构,你只是其中的一部分。这个组织将需要各种各样的设计图和模型,以供各方相互沟通。只有得到了合适的人员和工具,并对把建筑概念转换为实际建筑的过程进行积极的治理,才能最终建成这座满足使用要求的大厦。

UML建模语言

注意到没有,搭猪窝和建高楼大厦之间,设计的技能和工作量差的可不是一点半点。如果没有良好的设计、没有对项目进行整体把控,那么你的任何项目很有可能会沦落为仓促地搭猪窝。

如果你的目标是建造一个大厦式的软件,那么学会设计模式是非常重要的。UML建模就是进行良好软件设计的工具,在代码的世界里,UML的各种图就是工地上大厦的施工图纸。UML之于程序员,就犹如CAD之于机械工程师,犹如PS之于美工,毫不夸张地说,它是我们设计一个优秀项目的左臂右磅。

UML与嵌入式

随着后PC时代的到来,嵌入式抓住了物联网、5G等高科技的风口不断发展,琳琅满目的应用层出不穷。嵌入式编程与PC编程的边界已经逐渐模糊,C语言对应的传统结构化设计方法已经不能满足嵌入式软件设计和开发的需求。现在更为流行与使用的方法是用c语言来实现面向对象的语法(C++/JAVA),比如用结构体来模拟类,用函数指针来表示成员函数等。因此以往在C++/JAVA领域上大量使用的代码设计工具--UML,也势必将在嵌入式领域搅起一番风云!

代码的设计图纸——UML(上)相关推荐

  1. Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本

    Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本 1. clipse提供了UML的底层Java包, 1 2. MDTUML2Getting St ...

  2. eclipse mdt java工程_Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本...

    Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java版本 1.clipse提供了UML的底层Java包, 就是说用纯代码可以构建一个UML模型,当构建完之 ...

  3. 《重构:改善既有代码的设计》读书笔记(上)

    第一章:重构第一个示例   第一章作者通过一个示例讲解重构的过程.由于需求变化或代码不易于理解需要进行重构,重构前需要有一个可靠的测试,重构的过程应该是小步修改,每次修改后就运行测试,测试过程中可以先 ...

  4. 10000多套机械手毕业设计 课程设计 毕业论文 图纸 分享/上下料机械手、搬运机械手、苹果采摘机械手、液压机械手、三自由度机械手、水果采摘机械手、六自由度机械手、焊接机械手、码垛机械手、四自由……

    10000多套机械手毕业设计 课程设计 毕业论文 图纸 分享/部分清单如下: 车床上下料机械手毕业设计全套(设计说明书(论文)+CAD图纸+PLC接线图+液压系统图+外文翻译) 搬运机械手及其控制系统 ...

  5. 31条指令单周期cpu设计(Verilog)-(十)上代码→顶层模块设计总结

    说在前面 开发环境:Vivado 语言:Verilog cpu框架:Mips 控制器:组合逻辑 设计思路 按照预先设计好的数据通路图将各个模块连接起来 `timescale 1ns / 1ps mod ...

  6. 课程设计-基于SSM的在线课程教学系统代码-基于java的线上课程资源共享论坛系统

    课程设计-基于SSM的在线课程教学系统代码-基于java的线上课程资源共享论坛系统 注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 后台框架:SSM 前端框架 ...

  7. 重构 改善既有代码的设计:代码的坏

    以下内容来自<<重构 改善既有代码的设计>> 一.什么是重构 所谓重构(Refactoring)是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改以改进程序的内部结构 ...

  8. 小米汽车设计图纸泄露,官方称非最终文件;微软裁员遣散费高达8亿美元,人均获赔54万元;苹果暂停自研Wi-Fi芯片|极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  9. 【软件架构】软件的设计图纸(用例图,类图,状态图,活动图,顺序图)

    按图索骥---软件的设计图纸 序: 我一直以为,在软件设计中,各种图要比文档重要的多.图可以更加直接的反应软件的构造.尤其是在面向对象的软件设计中.图可以让我们直观的了解各个类和对象直接的交互和关系. ...

最新文章

  1. jQuery中增加新元素后没法响应原有的事件
  2. 关于如何发现忠诚的下属的讨论
  3. 数据机房局部过热与节能降耗解决方案
  4. 依图笔试2020/8/28,我是机器人(AC)、多彩珠子最长子串长度(AC)
  5. c语言基础回顾 —— 其他知识点
  6. java解析json_JAVA解析JSON数据
  7. 解析HetuEngine实现On Yarn原理
  8. filestream_SQL Server FILESTREAM内部概述
  9. 谷歌:早在这个0day 补丁发布前几周,朝鲜国家黑客就已利用
  10. three.js glb 多个_奔驰GLB外观完美!内饰酷炫!动力倍儿棒
  11. P2313 [HNOI2005]汤姆的游戏
  12. 华硕B365能装服务器系统吗,原生支持Win7,大师级B365主板来了! 华硕PRIME B365M-A主板深度体验-华硕主板bios设置图解...
  13. “钓鱼”事件频发,您的企业邮件安全吗?
  14. word 编辑过程中变为只读_WPS?教程 | WPS?云办公如何多人协同编辑
  15. 学校教室计算机室云课堂软件,专注云教室教育培训云课堂的NC个人云桌面
  16. 记录:nodejs 裁切图片的方法
  17. 哔哩哔哩笔试 01串求最长1子串的长度
  18. java何时new_何时使用lambda,何时使用Proc.new?
  19. 【软件测试】接口测试用例和报告模板
  20. RNA-seq生信分析流程

热门文章

  1. python表情符号编码大全_表情符号,当文本文件包含utf8和utf16时进行编码/解码...
  2. 移动支付之Pos终端主密钥、工作密钥、pin密钥、mac密钥
  3. CMMI之培训-PDCA(戴明环)
  4. matlab泊松分布随机数和图像_浅谈可靠性理论中的常用概率分布
  5. 百家号开发,接口发布视频需要https(记录一下)
  6. 判断ImageView的图片是否为默认
  7. 世界各国对于加班是什么态度 世界各国加班现状
  8. #10172. 「一本通 5.4 练习 1」涂抹果酱 【 三进制状态压缩 】【 方案数 】
  9. 计算机组成原理复杂模型机设计思路,计算机组成原理实验报告基本模型机和复杂模型机的设计修订稿-20210605021855.docx-原创力文档...
  10. 375个免费Photoshop笔刷