装饰设计模式1.装饰设计模式:当想要对已有对象功能增强是,可以定义类,将已有对象传入;基于已有对象的功能,并提供增强功能,那么定义的类称为装饰类;装饰类通常会通过构造函数接收被装饰的对象,并基于被装饰的对象的功能,提供更强的功能; 如:BufferedStream(InputStream i...
                            
                            
                                分类:
其他好文   时间:
2015-06-29 20:05:32   
                                阅读次数:
96
                             
                    
                        
                            
                            
                                装饰设计模式: 当想要对已有对象进行功能增强时。可以定义类,将已经有的类传入,基于已经有的功能,并且提供增强的功能,那么自定义的类就是装饰类。 两个基类:outputStream inputStream ; 缓冲区:Buffer+两个基类的名称 小技巧: 如何分辨字节流和字符流,就是字节流用byte...
                            
                            
                                分类:
其他好文   时间:
2015-06-10 23:54:36   
                                阅读次数:
241
                             
                    
                        
                            
                            
                                1.意图动态的给一个对象添加额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。2.别名包装器Wrapper。3.动机有时,我们希望给某个对象而不是整个类添加一些功能。例如,肯德基推出特价套餐,如果套餐1中有:汉堡和鸡腿和价格,套餐二中有:薯条和汉堡和价格,如果做继承类,而且是多继承明显不够灵活,那么就需要装饰类。4.适用性以下情况使用Decorator模式
在不影响其他对象的情...
                            
                            
                                分类:
其他好文   时间:
2015-05-27 12:26:29   
                                阅读次数:
160
                             
                    
                        
                            
                            
                                FilterInputStream(与FileInputStream、StringBufferInputStream、ByteArrayInputStream同级)虽然不是抽象类,但是其不能被实例化:
PushbackInputStream、BufferInputStream、DataInputStream、LineNumberInputStram是装饰类,用来装饰FileInp...
                            
                            
                                分类:
其他好文   时间:
2015-05-27 01:05:28   
                                阅读次数:
160
                             
                    
                        
                            
                            
                                本章可以称为“给爱用继承的人一个全新的设计眼界”。我们即将再度探讨典型滥用问题。你将在本章学到如何使用对象组合的方式,做到在运行时装饰类。为什么呢?一旦你熟悉了装饰者的技巧,你将能够在不修改任何底层代码的情况下,给你的(或别人的)对象赋予新的职责。...
                            
                            
                                分类:
编程语言   时间:
2015-05-25 16:36:22   
                                阅读次数:
151
                             
                    
                        
                            
                            
                                装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为。装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式来给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类的方法,还可以增加新的方法,以扩充原有类的功能。...
                            
                            
                                分类:
其他好文   时间:
2015-04-30 18:13:45   
                                阅读次数:
133
                             
                    
                        
                            
                            
                                要实现装饰者模式,注意一下几点内容:1.装饰者类要实现真实类同样的接口2.装饰者类内有一个真实对象的引用(可以通过装饰者类的构造器传入)3.装饰类对象在主类中接受请求,将请求发送给真实的对象(相当于已经将引用传递到了装饰类的真实对象)4.装饰者可以在传入真实对象后,增加一些附加功能(因为装饰对象和真...
                            
                            
                                分类:
编程语言   时间:
2015-04-14 17:59:04   
                                阅读次数:
178
                             
                    
                        
                            
                            
                                1.图解2.使用场景 当对子类进行装饰时或子类需要过多的装饰时,可以将抽象父类分出一个抽象装饰类, 由抽象装饰类的子类对子类进行装饰。比如给汽车喷涂油漆时。 (http://itlab.idcquan.com/Java/special/patterns/Index.html)3.代码实现 新建一个....
                            
                            
                                分类:
编程语言   时间:
2015-04-08 12:23:04   
                                阅读次数:
143
                             
                    
                        
                            
                            
                                一、概述 
动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。装饰模式是一种对象结构型模式。装饰模式是一种用于替代继承的技术,使用对象之间的关联关系取代类之间的继承关系。在装饰模式中引入了装饰类,在装饰类中既可以调用待装饰的原有类的方法,还可以增加新的方法,以扩充原有类的功能。二、适用场景 
装饰原有对象、在不改变原有对象的情况下扩展增强新功能/新特征.。当不能...
                            
                            
                                分类:
编程语言   时间:
2015-03-09 22:35:02   
                                阅读次数:
221
                             
                    
                        
                            
                            
                                顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例,关系图如下:Source类是被装饰类,Decorator类是一个装饰类,可以为Source类动态的添加一些功能,代码如下:[java]view plaincopypu...
                            
                            
                                分类:
编程语言   时间:
2015-03-02 18:10:34   
                                阅读次数:
197