toobugV管理员
文章 8934 篇 | 评论 17 次

作者 toobug 发布的文章

设计之禅——备忘录模式

热文设计之禅——备忘录模式

引言 备忘录模式是非常简单的一种模式,应用场景非常广泛,如编辑器的ctrl + z、数据库事务的回滚、游戏的存档等等都符合该模式的思想——备份(比较疑惑为什么叫备忘录模式,叫备份模式不是更贴切么?)。 详解 备忘录模...

设计之禅——中介者模式
热文设计之禅——中介者模式

引言 在面向对象编程中,无可避免的是对象之间的引用,引用给我们带来便捷(对象的复用),但同时也会给类与类之间造成强依赖关系。在一对一的关系中,这看起来并不会造成什么不良的影响,但若是在一对多中,修改任意的一个对象,都...

设计之禅——享元模式
热文设计之禅——享元模式

引言 之前已经写了17篇关于设计模式的文章,而这些设计模式大都是为了降低代码之间的耦合,避免违反开闭原则,但它们大都有同样的一个缺点,产生更多的类和对象,如果数量达到一定程度,就会导致系统性能降低,而今天要讲的这个模...

设计之禅——桥接模式

热文设计之禅——桥接模式

前言 桥接模式也是经典的23种模式之一,不过在《HeadFirst设计模式》书中只对其做了一个简短的描述,本文则是根据网络上的博客得出的个人理解和总结。 正文 定义 在维基百科上是这样定义桥接模式的: 桥接模式是软件...

设计之禅——原型模式

热文设计之禅——原型模式

前言 “万事万物皆对象!”,这是面向对象的宗旨,在Java中我们无时无刻不在创建对象,那创建对象有哪些方式呢?可以通过new或者反射,还有就是今天要讲的原型模式。那什么是原型模式,为什么又要通过原型模式去创建对象呢?...

设计之禅——组合模式
热文设计之禅——组合模式

引言 昨天我写了一篇迭代器模式的文章,其中用到餐厅菜单的例子,如果你细想过,肯定是能发现一些问题的,比如昨天的菜单中只有一级菜单(不清楚的同学可以先看看我上一篇文章,但这只是一个引子,并不影响后面的阅读),那当某些餐...

设计之禅——迭代器模式

热文设计之禅——迭代器模式

前言 迭代器想必大家不会陌生,作为Java中内置的API,平时我们使用的也是非常多的。但你是否曾想过它和迭代器模式有什么关联?并且Java中已经有for循环遍历,为什么还会需要这样一个类? 定义 Java中大部分的数...

设计之禅——状态模式
热文设计之禅——状态模式

前言 之前我写过一篇策略模式的文章,讲的是如何灵活地改变对象的行为,今天要讲的模式和策略模式非常像,它也是让你设计出如何灵活改变对象行为的一个模式,与策略模式不同的是它是根据自身状态而自行地改变行为,它就是状态模式。...