什么是迭代器、组合模式
迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露内部的表示。
组合模式:允许你将组合对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合
每一次失败都是成长的经历,每一次挫折都是成长的过程.
将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。
1.命令模式将发出请求的对象和执行请求的对象解耦
2.被解耦的两者之间是通过命令对象进行沟通的。命令对象封装了接受者的一个或一组动作
3.调用者通过调用命令对象的execute()发出请求,这会使得接受者的动作被调用
4.调用者可以接受命令当做参数,甚至在运行时动态地进行。
5.命令可以支持撤销,做法是实现一个undo()方法来回到execute()被执行前的状态
6.宏命令是一种简单的延伸,允许调用多个命令,宏方法也可以支持撤销
7.实际操作时,很常见使用“聪明”命令对象,也就是直接实现了请求,而不是将工作直接委托给接收者
8.命令也可以用来实现日志和事物系统
提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类.
1.所有的工厂都是用来封装对象的创建
2.简单工厂虽然不是真正的设计模式,但仍不失为一个简单的方法,可以将客户程序从具体类中解耦
3.工厂方法使用继承:把对象的创建委托给子类,子类实现工厂方法来创建对象
4.抽象工厂使用对象组合:对象的创建被实现在工厂接口所暴露出来的方法中
5.所有的工厂模式都通过减少应用程序和具体类之间的依赖促进松耦合
6.工厂方法允许类将实例化延迟到子类进行
7.抽象工厂创建相关的对象家族,而不需要依赖它们的具体类
8.依赖倒置原则指导我们避免依赖具体类型,而要尽量依赖抽象
9.工厂是很有威力的技巧,帮助我们针对抽象编程,而不需要针对具体类编程