又看了看设计模式,本来想将设计模式引入自动编程中,别人说设计模式是无限个,我也不知道到底有限还是无限。
先将gof提出的23个设计总结下:
- 创建型模式,共五种:工厂方法模式:使用工厂得到对象而不是自己new
、抽象工厂模式:工厂多了就要抽象出来
、单例模式:不说了
、建造者模式:先建造局部特性,最后得到一个完成的对象。
、原型模式:clone吧
- 结构型模式,共七种:适配器模式:新建个接口包括新的和旧的接口
装饰器模式:强类型的代码模式,在构造时候传入代理者?
代理模式:使用一个对象完成工作
外观模式:Facade?门面?和中介者模式区别?
桥接模式:接口中再引用一个接口。这2个接口都可独立变化了
组合模式:类似文件系统那样,相同结构组成上下级的
享元模式:在内存中缓存对象。算结构型吗?我觉得应该归到 创建型模式里去!
- 行为型模式,共十一种:
策略模式:使用一个接口
模板方法模式:方法体中定义抽象方法
观察者模式:注册与通知
迭代子模式:不说了
责任链模式:将相同接口的对象一级一级传递
命令模式、:传递一个命令对象
备忘录模式、备份-恢复?
状态模式、
访问者模式、双调用,double dispatch
中介者模式、中介者对象持有甲方,乙方的对象
解释器模式 写个解释器,方法有上下文入参
相关推荐
设计模式分为三大类: 创建型模式,共五种: 工厂方法模式、抽象工厂模式、单例模式、构建者模式、原型模式。 结构型模式,共七种: 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。...
由于提供的文件内容中重复包含了“更多资源请访问稀酷客(***)”这一句话,这可能是由于OCR扫描过程中的重复输出。为了维持文章的连贯性和专业性,我们忽略了这一重复信息。实际上,根据给出的标题、描述和部分内容,...
文章中提到了“说句话”的例子,即通过建造者模式可以构建出不同类型的对话,每种对话可以根据不同的需求进行定制化。 #### 3. 工厂方法模式(Factory Method) 工厂方法模式是工厂模式的一种变体,它提供了一个...
所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。 2、里氏代换原则(Liskov Substitution Principle) 里氏代换原则...
所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。 2、里氏代换原则(Liskov Substitution Principle) 里氏代换原则...
见到不同地方的 MM,要能够用她们的 、 方言跟她说这句话哦,我有一个多种语言翻译机,上面每种语言都有一个按键,见到 MM 我只要按对应的键, 它就能够用相应的语言说出“我爱你”这句话了, 国外的 MM 也可以轻松 ...
JUnit作为一个强大的单元测试框架,它的设计理念、核心特性和背后的优秀设计模式,对Java开发人员来说是不可或缺的工具。通过理解和熟练运用JUnit,开发者可以更有效地进行测试,提升代码质量,降低维护成本,从而...
想象一下,当你带女朋友去快餐店,无论是麦当劳还是肯德基,只需要简单地说一句“来四个鸡翅”,而不必关心具体是哪家的鸡翅,这是因为快餐店扮演了工厂的角色,客户只需提出需求,具体产品由工厂决定。此模式的优点...
建造者模式类似于拥有一款能够根据不同语言环境自动转换“我爱你”这句话的翻译机。无论面对哪个国家的MM,你只需要按下对应的按钮,翻译机就能自动用相应的语言表达爱意。这里的关键是将构建过程(语言转换)与产品...
你可以拥有一个多种语言翻译机,每种语言都有一个按键对应,这样当你遇到不同国家的女孩时,只需按下对应的按键,机器就会用相应的语言说出这句话。这里的翻译机就是一个建造者,它可以根据不同的需求构建出不同的...
这个翻译机可以翻译多种语言的“我爱你”这句话。当你遇到不同国家的MM时,只需按下对应语言的按钮,就能听到用该语言表达的“我爱你”。这个例子中的翻译机就相当于一个“我爱你”建造者,它可以构建不同语言版本的...
策略模式是对算法的包装,是吧使用算法的责任和算法本身分割开来,委派给不同的对象管理。 策略模式通常把一个系列的算法包装到一系列的... 一句话来形容:准备一组算法,并将每一个算法封装起来,使得他们可以互换。
比如,用一个翻译机来说“我爱你”这句话,可以针对不同的方言生成不同的表达方式,建造者模式使得你可以灵活地改变产品的内部构造而不影响构建过程。 3. **工厂方法模式**:相比于工厂模式,工厂方法模式将对象的...
例如,我有一个多种语言翻译机,可以用来翻译“我爱你”这句话。 1.1.3. Factory Method—工厂方法模式:核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做。例如,请MM去麦当劳吃汉堡,不同的...
41. **学习方法**:学习编程时要注重实践,理解面向对象的思维,使用设计模式解决问题,注重代码的可扩展性、可维护性。 以上就是对标题和描述中提到的Java SE相关知识点的详细解析,这些知识点涵盖了Java桌面应用...
例如,多种语言翻译机可以用来说出“我爱你”这句话。 3. 工厂方法模式(Factory Method):核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做。例如,请 MM 去麦当劳吃汉堡,不同的 MM 有不同的...
就像翻译机,根据不同地区的方言,按下对应的按钮就能说出“我爱你”这句话,无需关心内部的翻译机制。 3. **工厂方法模式**:工厂方法模式是工厂模式的一种扩展,它将产品的具体创建过程交给子类决定。例如,去...
在示例中,建造者模式被比喻为一种翻译机,按下不同的按钮就能产生不同语言的“我爱你”这句话,用户无需了解翻译机内部如何转换语言。 这些设计模式的运用可以带来以下好处: 1. 面向接口编程:模式鼓励使用接口而...