デザインモードのデコレーションモード(Decorator)
装飾モードは基本的に4つの部分から構成され、単純に、抽象コンポーネント、単純コンポーネント、抽象装飾キャラクタ、具体的な装飾キャラクタに分けられる.以下に簡単な説明例を示します.
抽象コンポーネント:Component.java
詳細:ConcreteComponent.java
抽象装飾キャラクタ:Decorator.java
具体的な装飾キャラクター:
クライアントクラス:
装飾モードは、ioストリームのように、バイトストリーム、文字ストリーム、ファイルストリーム、パイプストリーム、シーケンス化オブジェクトの操作にかかわらず、非常に一般的に使用されています.
彼に使う.
抽象コンポーネント:Component.java
package com.javapatterns.decorator;
public interface Component
{
void sampleOperation();
}
詳細:ConcreteComponent.java
package com.javapatterns.decorator;
public class ConcreteComponent implements Component
{
public void sampleOperation()
{
// Write your code here
}
}
抽象装飾キャラクタ:Decorator.java
package com.javapatterns.decorator;
public class Decorator implements Component
{
public Decorator(Component component)
{
// super();
this.component = component;
}
public Decorator() {
}
public void sampleOperation()
{
component.sampleOperation();
}
/**
* @link aggregation
*/
private Component component;
}
具体的な装飾キャラクター:
package com.javapatterns.decorator;
public class ConcreteDecorator extends Decorator
{
public void sampleOperation()
{
super.sampleOperation();
}
}
クライアントクラス:
package com.javapatterns.client
import junit.framework.TestCase;
public class Client extends TestCase{
public testDecorator(){
new ConcreteDecorator(
new ConcreteComponent ();
);
}
}
装飾モードは、ioストリームのように、バイトストリーム、文字ストリーム、ファイルストリーム、パイプストリーム、シーケンス化オブジェクトの操作にかかわらず、非常に一般的に使用されています.
彼に使う.