正在学习GoF的Java设计模式。Java核心库中这些设计模型有一些很好的例子来供参考吗?
Flyweight与Byte,Short,Integer,Long和String的一些值一起使用。
Facade被用在许多地方,但最明显的是脚本接口。
单例 - java.lang.Runtime浮现在脑海。
抽象工厂 - 也是脚本和JDBC API。
命令 - TextComponent的撤销/重做。
解释器 - RegEx(java.util.regex。)和SQL(java.sql。)API。
原型 - 不是100%肯定,如果这个计数,但我thinkg clone()方法可以用于这个目的。
整个摇摆的观察者模式(Observable,Observer)
MVC也在摆动
适配器模式:InputStreamReader和OutputStreamWriter注:ContainerAdapter,ComponentAdapter,FocusAdapter,KeyAdapter,MouseAdapter是不适配器; 他们实际上是空的对象。Sun的命名选择太差
装饰模式(BufferedInputStream可以装饰其他流如FilterInputStream)
AWT工具包和Swing可插入外观类的AbstractFactory模式
java.lang.Runtime#getRuntime() 是单身人士
ButtonGroup 调解员模式
Action,AbstractAction可以用于不同的视觉表示来执行相同的代码 - >命令模式
用于Flyweight模式的JTable中的Interned Strings或CellRender(也可以考虑各种池 - 线程池,连接池,EJB对象池 - Flyweight实际上是关于共享资源的管理)
Java 1.0事件模型就像Servlet过滤器一样是责任链的一个例子。
集合框架中的迭代器模式
AWT / Swing中的嵌套容器使用复合模式
AWT / Swing中的布局管理员是策略的一个例子