今天早上我发现了Motivator这个工具。它能让你制作出自己想要的图片。下面就是我的首次尝试,以SOLID软件开发原则为主题的具有启发意义的图片。这图片都是从谷歌里搜索出来的,我“借用”了一下。希望这些作品能给你带来一些快乐!我已经把它们挂在了我们开发团队的办公室里了。 

SOLID

软件开发不是积木游戏。

(这张图片来自Mark Nijhof。是在他的twitter里发现的。我拿来用一下。)

单一责任原则

并不是你能够这样做,你就应该这样做。

开放/关闭原则

穿着外套不要做开胸手术。

Liskov 替换原则

如果它看起来像个鸭子,声音叫声听起来像个鸭子,但却需要电池——那你很可能归纳错了。

接口分离原则

你想让我把插头插上,插在哪?

依赖注入原则

你会把灯泡直接连接到墙里的电线上吗?

[本文英文原文链接:SOLID Development Principles – In Motivational Pictures ]

转载于:https://www.cnblogs.com/hnrainll/archive/2012/09/27/2705004.html

趣图图解 SOLID 软件开发原则相关推荐

  1. 趣图:现代软件开发就是这样的

    (给程序员的那些事加星标,每天看趣图) 现代软件开发就是这样的 ↓↓↓ 往期趣图(点击下方图片可跳转阅读) 关注「程序员的那些事」加星标,每天看趣图 (商务合作QQ:2302462408)

  2. SOLID 软件设计原则

    * 软件腐化的原因: 问题所在   设计目标 ---------------------------------------------------------------------------- ...

  3. 《敏捷软件开发-原则、方法与实践》-Robert C. Martin

    Review of Agile Software Development: Principles, Patterns, and Practices 本书主要包含4部分内容,这些内容对于今天的软件工程师 ...

  4. 举例说明层次分析的三大原则_20202021企业软件开发流程(3)软件开发过程和软件开发原则...

    知识点 1.软件过程就是软件开发过程中软件活动的集合. 2.软件过程各阶段定义 1)问题定义:人们通过开展技术探索和市场调查等活动,研究系统的可行性和可能的解决方案,确定待开发系统的总体目标和范围. ...

  5. 敏捷软件开发:原则、模式与实践(C#版)

    刚才在china-pub看到<敏捷软件开发:原则.模式与实践(C#版)>已经出版了.这本书是以前那本<敏捷软件开发:原则.模式与实践>的C#版,这是不是说明C#程序员的数量已经 ...

  6. 开课吧:深入了解软件开发原则有哪些?

    在软件开发中,前人对软件系统的设计和开发总结了一些原则和模式,不管用什么语言做开发,都将对我们系统设计和开发提供指导意义. 深入了解软件开发原则有哪些? 1.不要重复你自己:DRY(Don'trepe ...

  7. 对《敏捷软件开发:原则、模式与实践》中保龄球程序重构的一些思考

    前几天看了<敏捷软件开发:原则.模式与实践>中第六章:一次编程实战,文章中主要描述了一对开发人员进行一次记录保龄球比赛成绩程序的开发过程.仔细研究之后,发现一个问题,拿出来和大家讨论讨论. ...

  8. 不懂SOLID,GRASP这些软件开发原则!写出来的代码都是垃圾!

    从一些老生常谈的事情开始说起来吧,优秀的代码应符合以下特质: 1,可维护性 2,可扩展性 3,模块化 如果代码在其生命周期内保持易于维护.扩展和模块化,那么就上面列出的特性而言,这意味着代码高于平均水 ...

  9. 一些软件软件开发原则

    下面这些原则,不单单只是软件开发,可以推广到其它生产活动中,甚至我们的生活中. Don't Repeat Yourself (DRY) DRY 是一个最简单的法则,也是最容易被理解的.但它也可能是最难 ...

最新文章

  1. libevent多线程
  2. 对比两个字符串相等_字符串匹配问题
  3. 摩托罗拉再裁员!仍坚守模块化手机业务
  4. 【MLNLP顶会论文发表总榜】谷歌最狂,清北入前十,周明、张岳、刘挺华人前三,中美差距何止一点点!...
  5. Python并发编程之线程中的信息隔离(五)
  6. Java开发指南!mysql修改表字段长度
  7. python 字符串转字节_【转】python中的字符串和字节串
  8. runaction 旋转_使用cc.tween(缓动系统)代替runAction
  9. GA002-186-11
  10. 单片机 STM32 HAL IO扩展 PCA9555
  11. Failed to load the JNI shared library 的解决方法
  12. Q上多项式可约性深化定理
  13. Express搭建服务器
  14. 基础攻防实验-DVWA-秋潮-网络配置
  15. 金书中的武功传承(一代不如一代)
  16. winform界面渐变色绘制
  17. 如何打造陆金所营销活动配置发布平台
  18. UltraISO软碟通软件(绿色单文件版)
  19. 创业两年,一家小VC的自我反思
  20. 地层破裂压力预测方法

热门文章

  1. 程序员薪资怎么论高级还是初级_Java程序员的薪水取决于年龄还是技术?
  2. 编译原理教程_4 语法分析
  3. python autoitlibrary_记录RF安装AutoItLibrary库的辛酸过程
  4. emui内核支持kvm吗_Linux专题—使用kvm搭建虚拟机
  5. PAT (Basic Level) Practice1012 数字分类
  6. 里皮正式告别国足:我尽了最大努力让球队成长
  7. Photoshop 操作显示滞后问题及解决方法
  8. Spring Cloud微服务实战:手把手带你整合eurekazuulfeignhystrix(附源码)
  9. JetBrains正式发布GoLand
  10. md5只是用来签名,签名的作用是保证数据完整不会被破坏而已。签名和加密是两回事...