阿呆穿越当程序员之设计模式系列-总纲
叮~~~,阿呆被一阵闹钟吵醒。头疼剧烈的阿呆脑子里涌入了两个人的记忆,自己所在身体叫阿呆,在一个平行世界是将近百万的应届毕业生中的一员,大学学的是计算机专业,还有一个思想也是阿呆是某大厂的资深程序员。现在的阿呆还在为工作面试而苦恼,因为大学期间一直在玩游戏,没有学到啥真本事,而且刚好第二天有个面试,现在来看问题应该不大。
第二天,阿呆出门去公式面试,是一个穿格子衬衫的经理面试。只见经理问到。
经理:知道面向对象的特性吗?
阿呆:封装、继承、多态 (内心os:这面试也太没有技术含量了吧)。
经理:怎么理解呢?
阿呆 : 封装就是 隐藏对象的属性和函数实现细节,仅仅对外公开接口。
继承就是 通过子类使用父类的方法,来表示一种is-a的关系。来提高代码复用。
多态就是 子类可以替换父类,接口也有多种不同的实现方式。
经理:嗯嗯,不错嘛。理论知识掌握的可以的,那在问问 设计模式的六大原则有哪些呢?
阿呆:开闭原则,单一职责原则,里氏替换原则,依赖倒转原则,迪米特原则,接口隔离原则
经理:不错,那设计模式你知道有哪些吗?
阿呆:
创建型模式有:
工厂模式:简单工厂&工厂方法&抽象工厂
单例模式
建造者模式
原型模式
结构型模式有:
适配器模式
装饰器模式
代理模式
门面模式
桥接模式
组合模式
享元模式
行为型模式有:
策略模式
模版方法模式
观察者模式
迭代器模式
责任链模式
命令模式
备忘录模式
状态模式
访问者模式
中介者模式
解释器模式
经理:嗯嗯,看来你掌握的很不错,明天来公司上班吧。
阿呆:没想到面试这么简单,而且看起来这家公司应该比较注重编码规范和编码设计。终于可以不在"屎山"上写代码了。
下篇预告:
阿呆入职了新公司,先让他看公司的代码。看了代码后阿呆大失所望,发现前辈们的代码,都是各种不符合设计原则,很多代码让阿呆想去新加功能都无从下手。下一篇,将从实际的代码示例出发,介绍设计模式6大原则的含义和意义。
阿呆穿越当程序员之设计模式系列-总纲相关推荐
- 程序员真实故事系列 ---阅读书籍计划
[转帖][程序员真实故事系列@个人特别推荐阅读@] 标 题: 一个人的奋斗历程 这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公 开,希望能够为国内IT的发展尽自己一份微薄的力量 ...
- 程序员内功-设计模式篇
一. 什么是设计模式 纠结了好久,今天终于下定决心开始写设计模式系列,因为这个系列章节确实不好写,在这之前,也看了好多关于设计模式的博客.视频.书籍等,最后结合自己的理解,亲自动手实操代码,完成该章节 ...
- 程序员之网络安全系列(三):数据加密之对称加密算法
系列目录: 程序员之网络安全系列(一):为什么要关注网络安全? 程序员之网络安全系列(二):如何安全保存用户密码及哈希算法 程序员之网络安全系列(三):数据加密之对称加密算法 程序员之网络安全系列(四 ...
- vue函数如何调用其他函数?_好程序员Python教程系列之递归函数与匿名函数调用...
好程序员Python教程系列递归函数与匿名函数调用,函数是Python技术学习中重要的一个环节,深入掌握该阶段的知识内容,对于Python技术能力的提升非常有帮助,这里就针对递归函数与匿名函数两种函数 ...
- cuda默认函数与c++冲突_好程序员Python教程系列-第8讲:函数和模块
好程序员Python教程系列-第8讲:函数和模块,在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. 事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种 ...
- 顶级程序员书单系列二:《编码-隐匿在计算机软硬件背后的语言》
浅谈这本书 如果让我做一个排名,我想这本书,可以在我的顶级程序员书单系列排名第8-10位.这本书讲述了从最简单的加法器到触发器到存储器到一台计算机demo的搭建,整本书的语言都十分通俗易懂,作者简直就 ...
- 雷军:《我十年的程序员生涯》系列之三(失败的大学创业经历)
// 转载自雷军2008年11月10日写的博客.以下内容为博客原文: 不少人想白手起家.空手套狼,在今天的商业社会里这是非常不现实的一件事情.我特别想问:你为什么不能先做能力及资源上的积累后再创业呢? ...
- 雷军:《我十年的程序员生涯》系列之二(我赚的第一桶金)
// 转载自雷军2008年11月5日写的博客.以下内容为博客原文: <我十年的程序员生涯>系列之二:我写BITLOK的这七年 1989年8月,大二暑假,我和王全国合作写了我的第一个正式作品 ...
- 程序员面试金典总结 - leetcode 程序员面试金典系列
程序员面试金典系列完结撒花!!
最新文章
- 【c++】重载操作符
- 小猿圈讲解Java可以做什么?
- JAVA设计模式--单例模式
- 考试系统—— 刷新页面 考试剩余时间不重新开始
- linux-basic(12)正则表达式与文件格式化处理
- 数组正遍历,数组倒遍历
- 您是如何开始使用Linux的?
- Linux SSH免密码登录
- Android 完全退出应用程序实现代码
- 伪装nginx版本防止***web服务器
- jQuery 插件设置cookie
- uniapp-蓝牙模块封装
- 熟练使用 Elastic Job系列之作业分片策略(五)
- VSCode离线汉化教程
- 什么是503服务不可用错误(以及如何解决)?
- opencv python 识别图形轮廓
- html2canvas文字消失,html2canvas截图丢失部分元素
- Class文件结构神秘的微笑(二)
- 苦练基本功《如何阅读看懂一篇Datasheet》
- openresty中应用murmurHash