`
flysnail
  • 浏览: 92852 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

对设计模式—Decorator模式的认识

阅读更多
今天星期一,上班迟到了,走到办公室打开电脑就工作,抽空学习一下Decorator模式,电脑慢了啊,怎么办啊,内存才1G,电脑里的元器件都是做好的,又不能优化,只好给它加条内存.
public interface Work 
{
   public void start();
}


public class ComputerWork implements Work 
{
    public void start() 
    {
	    System.out.println("Computer change fast!");
     }
}

//Add Memory function  
public class Decorator implements Work 
{

   private Work work;
   private List<String> memory = new ArrayList<String>();

   public Decorator(Work work) 
   {
       this.work = work;		
   }
    
   public void addNewMemory(String newMemory)
   {
       memory.add(newMemory);		
   }

   public void start() 
   {
       otherMemory();
       work.start();
   }

   public void otherMemory()
   {
      ListIterator<String> listIterator = memory.listIterator();
      while (listIterator.hasNext())
      {
	    System.out.println("Add Memory"+listIterator.next());
      }
    }
	

public class TestDecorator {
	@SuppressWarnings("unused")
	public static void main(String[]args)
	{
		Work computer= new ComputerWork ();
		Decorator decorator = new Decorator(computer);
		decorator.addNewMemory("add 1 G Memory");
		decorator.start();		
	}

}


2
4
分享到:
评论

相关推荐

    设计模式大全,带你全面认识设计模式

    "设计模式大全,带你全面认识设计模式"这个资源很可能是为了帮助初学者和有经验的开发者深入理解并掌握设计模式的精髓。 设计模式通常分为三大类:创建型、结构型和行为型模式。创建型模式主要关注对象的创建过程,...

    二十三种设计模式【PDF版】

    1.设计模式更抽象,J2EE 是具体的产品代码,我们可以接触到,而设计模式在对每个应用时才会产生具体代码。 2.设计模式是比 J2EE 等框架软件更小的体系结构,J2EE 中许多具体程序都是应用设计模式来完成的,当你深入...

    C++设计模式精解

    从提供的文件信息中我们可以提取到的IT知识点主要集中在C++设计模式方面。具体的知识点可以分解为以下几点: ...同时,也能对学习设计模式的过程有一个更全面的认识,从而更好地掌握这些设计思想。

    深入浅出设计模式样章

    《深入浅出设计模式样章》是一本专为软件开发者准备的指南,旨在帮助读者理解和掌握设计模式这一核心编程概念...样章虽然只是全书的一部分,但已经足够让读者对设计模式有初步的认识,并激发他们进一步深入研究的兴趣。

    C#23种设计模式_示例源代码及PDF

    装饰模式:装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案, 装饰模式 提供比继承更多的灵活性。动态给一个对象增加功能,这些功能可以再动态的撤消。增加由 一些基本功能的排列组合而产生...

    GoF+23种设计模式解析附C++实现源码.pdf

    通过对GoF的23种设计模式的学习和理解,我们可以深刻认识到这些模式对于提高软件质量和效率的重要性。每个模式都针对特定的问题提出了有效的解决方案,帮助我们更好地设计和构建高质量的软件系统。同时,通过实际的...

    23种设计模式(C++).pdf

    而在讨论设计模式时,双分派的概念可以进一步提升对Visitor模式的认识。设计模式的重要性不言而喻,它们是软件设计中不可或缺的工具,能够使开发者更加高效地进行面向对象的分析和设计。 在本书的附录部分,作者...

    C#3.0设计模式.pdf

    通过对比分析,读者可以更清楚地认识到不同模式的适用场景及其优缺点,从而能够更加明智地选择合适的设计模式来解决特定问题。 #### 复合模式 (Composite Pattern) 复合模式允许将对象组织成树形结构来表示“部分-...

    新版设计模式手册-笔记

    《新版设计模式手册》中的笔记通过21个设计模式的概念图,直观地展示了这些模式的结构和交互方式,帮助读者形成清晰的认识。同时,生活类比将复杂的编程概念与日常经验相结合,使学习更加生动有趣。例如,单例模式...

    Head.First设计模式_PDF.part1

    第1章到第11章陆续介绍的设计模式为Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton、Command、Adapter、Facade、Templat Method、Iterator、Composite、State、Proxy。最后三章比较...

    c#设计模式随书源码.rar

    这些设计模式的源码示例将帮助你深入理解每种模式的核心思想和应用场景,通过实际编码加深对设计模式原理的认识,提升软件开发的灵活性和可维护性。学习并熟练运用这些模式,将有助于你编写出更高质量的C#代码。

    Java常用的设计模式

    ### Java常用的设计模式详解 #### 一、工厂模式(Factory) **工厂模式**是一种常用的创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们创建一个工厂类来负责创建产品类的对象。当系统需要创建...

    Raywendich (Design Patterns by Tutorials) 代码

    总之,《Raywendich设计模式实战教程》的源代码提供了一个绝佳的学习平台,它不仅涵盖了设计模式的实践应用,还结合了Swift 4的特性,让开发者能够更好地掌握面向对象编程的精髓,同时深化对数据结构和算法的认识。...

    装饰者模式

    装饰者模式是一种设计模式,它允许我们向一个对象动态地添加新的行为或责任,而无需修改该对象的源代码。这种模式遵循“开闭原则”,即对扩展开放,对修改关闭,是面向对象设计中非常重要的一个概念。装饰者模式通常...

    Packt.Learning.Python.Design.Patterns.2nd.Edition.2016.2

    ### Python设计模式学习知识点 ...通过以上介绍,相信你已经对Python设计模式有了初步的认识。接下来的关键在于不断实践,将这些理论知识转化为自己的技能。希望你能通过不断学习和实践,成为一名优秀的Python开发者。

    MyBatis学习总结

    类型 设计模式主要分为三类:创建型模式、结构型模式和行为型模式。 1. 创建型模式(Creational Patterns):如单例模式(Singleton)、工厂模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式...

    我的华为面试之旅!!!

    - **设计模式**:面试中可能会询问应聘者对设计模式的理解和应用。例如,当被问到如何实现某个功能时,可以考虑使用观察者模式(Observer Pattern)或装饰器模式(Decorator Pattern)等来解决问题。 - **线程相关...

Global site tag (gtag.js) - Google Analytics