叮~~~,阿呆被一阵闹钟吵醒。头疼剧烈的阿呆脑子里涌入了两个人的记忆,自己所在身体叫阿呆,在一个平行世界是将近百万的应届毕业生中的一员,大学学的是计算机专业,还有一个思想也是阿呆是某大厂的资深程序员。现在的阿呆还在为工作面试而苦恼,因为大学期间一直在玩游戏,没有学到啥真本事,而且刚好第二天有个面试,现在来看问题应该不大。

第二天,阿呆出门去公式面试,是一个穿格子衬衫的经理面试。只见经理问到。

经理:知道面向对象的特性吗?

阿呆:封装、继承、多态 (内心os:这面试也太没有技术含量了吧)。

经理:怎么理解呢?

阿呆 : 封装就是  隐藏对象的属性和函数实现细节,仅仅对外公开接口

继承就是  通过子类使用父类的方法,来表示一种is-a的关系。来提高代码复用。

多态就是  子类可以替换父类,接口也有多种不同的实现方式。

经理:嗯嗯,不错嘛。理论知识掌握的可以的,那在问问 设计模式的六大原则有哪些呢?

阿呆:开闭原则,单一职责原则,里氏替换原则,依赖倒转原则,迪米特原则,接口隔离原则

经理:不错,那设计模式你知道有哪些吗?

阿呆:

创建型模式有:

工厂模式:简单工厂&工厂方法&抽象工厂

单例模式

建造者模式

原型模式

结构型模式有:

适配器模式

装饰器模式

代理模式

门面模式

桥接模式

组合模式

享元模式

行为型模式有:

策略模式

模版方法模式

观察者模式

迭代器模式

责任链模式

命令模式

备忘录模式

状态模式

访问者模式

中介者模式

解释器模式

经理:嗯嗯,看来你掌握的很不错,明天来公司上班吧。

阿呆:没想到面试这么简单,而且看起来这家公司应该比较注重编码规范和编码设计。终于可以不在"屎山"上写代码了。

下篇预告:

阿呆入职了新公司,先让他看公司的代码。看了代码后阿呆大失所望,发现前辈们的代码,都是各种不符合设计原则,很多代码让阿呆想去新加功能都无从下手。下一篇,将从实际的代码示例出发,介绍设计模式6大原则的含义和意义。

阿呆穿越当程序员之设计模式系列-总纲相关推荐

  1. 程序员真实故事系列 ---阅读书籍计划

     [转帖][程序员真实故事系列@个人特别推荐阅读@] 标 题: 一个人的奋斗历程 这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公 开,希望能够为国内IT的发展尽自己一份微薄的力量 ...

  2. 程序员内功-设计模式篇

    一. 什么是设计模式 纠结了好久,今天终于下定决心开始写设计模式系列,因为这个系列章节确实不好写,在这之前,也看了好多关于设计模式的博客.视频.书籍等,最后结合自己的理解,亲自动手实操代码,完成该章节 ...

  3. 程序员之网络安全系列(三):数据加密之对称加密算法

    系列目录: 程序员之网络安全系列(一):为什么要关注网络安全? 程序员之网络安全系列(二):如何安全保存用户密码及哈希算法 程序员之网络安全系列(三):数据加密之对称加密算法 程序员之网络安全系列(四 ...

  4. vue函数如何调用其他函数?_好程序员Python教程系列之递归函数与匿名函数调用...

    好程序员Python教程系列递归函数与匿名函数调用,函数是Python技术学习中重要的一个环节,深入掌握该阶段的知识内容,对于Python技术能力的提升非常有帮助,这里就针对递归函数与匿名函数两种函数 ...

  5. cuda默认函数与c++冲突_好程序员Python教程系列-第8讲:函数和模块

    好程序员Python教程系列-第8讲:函数和模块,在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. 事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种 ...

  6. 顶级程序员书单系列二:《编码-隐匿在计算机软硬件背后的语言》

    浅谈这本书 如果让我做一个排名,我想这本书,可以在我的顶级程序员书单系列排名第8-10位.这本书讲述了从最简单的加法器到触发器到存储器到一台计算机demo的搭建,整本书的语言都十分通俗易懂,作者简直就 ...

  7. 雷军:《我十年的程序员生涯》系列之三(失败的大学创业经历)

    // 转载自雷军2008年11月10日写的博客.以下内容为博客原文: 不少人想白手起家.空手套狼,在今天的商业社会里这是非常不现实的一件事情.我特别想问:你为什么不能先做能力及资源上的积累后再创业呢? ...

  8. 雷军:《我十年的程序员生涯》系列之二(我赚的第一桶金)

    // 转载自雷军2008年11月5日写的博客.以下内容为博客原文: <我十年的程序员生涯>系列之二:我写BITLOK的这七年 1989年8月,大二暑假,我和王全国合作写了我的第一个正式作品 ...

  9. 程序员面试金典总结 - leetcode 程序员面试金典系列

    程序员面试金典系列完结撒花!!

最新文章

  1. 【c++】重载操作符
  2. 小猿圈讲解Java可以做什么?
  3. JAVA设计模式--单例模式
  4. 考试系统—— 刷新页面 考试剩余时间不重新开始
  5. linux-basic(12)正则表达式与文件格式化处理
  6. 数组正遍历,数组倒遍历
  7. 您是如何开始使用Linux的?
  8. Linux SSH免密码登录
  9. Android 完全退出应用程序实现代码
  10. 伪装nginx版本防止***web服务器
  11. jQuery 插件设置cookie
  12. uniapp-蓝牙模块封装
  13. 熟练使用 Elastic Job系列之作业分片策略(五)
  14. VSCode离线汉化教程
  15. 什么是503服务不可用错误(以及如何解决)?
  16. opencv python 识别图形轮廓
  17. html2canvas文字消失,html2canvas截图丢失部分元素
  18. Class文件结构神秘的微笑(二)
  19. 苦练基本功《如何阅读看懂一篇Datasheet》
  20. openresty中应用murmurHash

热门文章

  1. [Copy] Netlink Socket
  2. java neon_Eclipse Neon安装指导
  3. MySQL 8.0.12 微妙和毫秒的支持
  4. 低代码和无代码,完全是两回事
  5. python迅雷sdk_Python批量创建迅雷任务及创建多个文件
  6. antd Upload组件使用,出现闪动问题
  7. LSTM的loss和accuracy近乎不变问题
  8. 2022年9月青少年软件编程(图形化)等级考试试卷--三级--数星星
  9. 基于STM32 + 超详细对新手全面解析讲解SPI协议(附源码)
  10. Redies未授权访问