叮~~~,阿呆被一阵闹钟吵醒。头疼剧烈的阿呆脑子里涌入了两个人的记忆,自己所在身体叫阿呆,在一个平行世界是将近百万的应届毕业生中的一员,大学学的是计算机专业,还有一个思想也是阿呆是某大厂的资深程序员。现在的阿呆还在为工作面试而苦恼,因为大学期间一直在玩游戏,没有学到啥真本事,而且刚好第二天有个面试,现在来看问题应该不大。
第二天,阿呆出门去公式面试,是一个穿格子衬衫的经理面试。只见经理问到。
经理:知道面向对象的特性吗?
阿呆:封装、继承、多态 (内心os:这面试也太没有技术含量了吧)。
经理:怎么理解呢?
阿呆 : 封装就是 隐藏对象的属性和函数实现细节,仅仅对外公开接口。
继承就是 通过子类使用父类的方法,来表示一种is-a的关系。来提高代码复用。
多态就是 子类可以替换父类,接口也有多种不同的实现方式。
经理:嗯嗯,不错嘛。理论知识掌握的可以的,那在问问 设计模式的六大原则有哪些呢?
阿呆:开闭原则,单一职责原则,里氏替换原则,依赖倒转原则,迪米特原则,接口隔离原则
经理:不错,那设计模式你知道有哪些吗?
阿呆:
创建型模式有:
工厂模式:简单工厂&工厂方法&抽象工厂
单例模式
建造者模式
原型模式
结构型模式有:
适配器模式
装饰器模式
代理模式
门面模式
桥接模式
组合模式
享元模式
行为型模式有:
策略模式
模版方法模式
观察者模式
迭代器模式
责任链模式
命令模式
备忘录模式
状态模式
访问者模式
中介者模式
解释器模式
经理:嗯嗯,看来你掌握的很不错,明天来公司上班吧。
阿呆:没想到面试这么简单,而且看起来这家公司应该比较注重编码规范和编码设计。终于可以不在"屎山"上写代码了。
下篇预告:
阿呆入职了新公司,先让他看公司的代码。看了代码后阿呆大失所望,发现前辈们的代码,都是各种不符合设计原则,很多代码让阿呆想去新加功能都无从下手。下一篇,将从实际的代码示例出发,介绍设计模式6大原则的含义和意义。