设计模式
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
程序员小熊
这个作者很懒,什么都没留下…
展开
-
深入浅出设计模式之工厂模式
一、引子话说十年前,有一个暴发户,他家有三辆汽车---Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机帮他开车。不过暴发户坐车时总是怪怪的:上Benz之后跟司机说“开奔驰车!”,坐上Bmw后他说“开宝马车!”,坐上Audi后说“开奥迪车!”。你一定会说:这人有病!直接说开车不就行了?!而当把这个暴发户的行为放到我们程序设计中来时,会发现这是一个普遍现象,幸运的是,这种有病的现象在OO(面原创 2017-01-16 15:24:31 · 2116 阅读 · 1 评论 -
深入浅出设计模式之单例模式
一、引子单例模式是设计模式中使用很频繁的一种模式,在各种开源框架、应用系统中多有应用。二、定义与结构单例模式又叫做单态模式或者单件模式。在 GOF 书中给出的定义为:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式中的“单例”通常用来代表那些本质上具有唯一性的系统组件(或者叫做资源)。比如文件系统、资源管理器等等。单例模式的目的就是要控制特定的类只产生一个对象,当原创 2017-01-17 10:09:47 · 421 阅读 · 0 评论 -
深入浅出设计模式之建造模式
一、引子作为装机工,他们不用管你用的CPU 是Intel 还是AMD,也不管你的显卡是2000 千大元还是白送的,都能三下五除二的装配在一起——一台PC诞生了!当然对于客户来说,你也不知道太多关于PC 组装的细节。这和建造模式是多么的相像啊!二、定义与结构 GOF 给建造模式的定义为:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示原创 2017-01-17 10:29:56 · 427 阅读 · 0 评论 -
深入浅出设计模式之原型模式
一、引子 古人云:书非借不能读也。我深谙古人教诲,更何况现在 IT 书籍更新快、价格贵、质量水平更是参差不齐,实在不忍心看到用自己的血汗钱买的书不到半年就要被淘汰,更不想供养使用金山快译、词霸等现代化工具的翻译们。于是我去书店办了张借书卡,这样便没有了后顾之忧了——书不好我可以换嘛! 但是,借书也有不爽的地方,就是看到有用或者比较重要的地方,不能在书旁标记下来。一般原创 2017-01-17 11:08:39 · 353 阅读 · 0 评论 -
深入浅出设计模式之适配器模式
一、引子 有时在给新买的 MP3 充电的时候,发现MP3 播放器只提供了USB 接口充电的方式,而它所配备的充电器无法直接给USB 接口充电,聪明的厂商为充电器装上了一个USB 接口转换器解决了问题。 这个 USB 接口转接器正是我们今天要谈到的适配器。而在软件开发中采用类似于上面方式的编码技巧被称为适配器模式。二、定义和结构 《设计模式》一原创 2017-01-17 15:56:56 · 448 阅读 · 0 评论 -
深入浅出设计模式之桥梁模式
一、引子 桥梁(bright)模式是一个功能非常强大而且适用于多种情况的模式。二、定义与结构 GOF 在《设计模式》中给桥梁模式的定义为:将抽象部分与它的实现部分分离,使它们都可以独立地变化。这里的抽象部分和实现部分不是我们通常认为的父类与子类、接口与实现类的关系,而是组合关系。也就是说,实现部分是被抽象部分调用,以用来完成(实现)抽象部分的功能。原创 2017-01-17 16:10:25 · 503 阅读 · 0 评论