責任鏈測試java類
package com.wd.test.state;
import java.util.ArrayList;
import java.util.List;
public class StautsLinkTest {
public static void main(String[] args) {
StautsLinkTest test = new StautsLinkTest();
test.test();
}
public String name="com.wd.test.state.BL";
public void test(){
List<L> ls = new ArrayList<L>();
ls.add(new AL());
ls.add(new BL());
ls.add(new CL());
ls.add(new DL());
ls.add(new EL());
ls.add(new FL());
ls.add(new GL());
ls.add(new HL());
ls.add(new IL());
ls.add(new JL());
for (int i = 0; i < ls.size(); i++) {
if(ls.get(i).getName().equals(name)){
ls.get(i).check(name);
}
}
}
}
class Cons{
public static final int a=1;
public static final int b=2;
public static final int c=3;
public static final int d=4;
public static final int e=5;
}
abstract class L{
//a --b --d
// --c
//d --e--g
// --j
// --f--h
// --i
protected String name = this.getClass().getName();
protected String prename;
public String getPrename() {
return prename;
}
public void setPrename(String prename) {
this.prename = prename;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<L> getLs() {
return ls;
}
public void setLs(List<L> ls) {
this.ls = ls;
}
void curr(){
System.out.println("come to"+this.getClass().getName());
}
void next(){
}
void deal(L l){
System.out.println("deal "+l.getName());
}
public void check(String name){
for (int i = 0; i < ls.size(); i++) {
if(ls.get(i).getName().equals(name)){
deal(ls.get(i));
next();
}
}
}
List<L> ls=new ArrayList<L>();
}
class AL extends L{
public void next(){
ls.add(new BL());
ls.add(new CL());
}
}
class BL extends L{
@Override
void next() {
ls.add(new DL());
}
}
class CL extends L{
@Override
void next() {
System.out.println("is to end");
}
}
class DL extends L{
@Override
void next() {
ls.add(new EL());
}
}
class EL extends L{
@Override
void next() {
ls.add(new JL());
ls.add(new GL());
}
}
class FL extends L{
@Override
void next() {
ls.add(new HL());
ls.add(new IL());
}
}
class GL extends L{
@Override
void next() {
System.out.println("it is to end");
}
}
class LL extends L{
@Override
void next() {
System.out.println("it is to end");
}
}
class HL extends L{
@Override
void next() {
System.out.println("it is to end");
}
}
class IL extends L{
@Override
void next() {
System.out.println("it is to end");
}
}
class JL extends L{
@Override
void next() {
System.out.println("it is to end");
}
}
import java.util.ArrayList;
import java.util.List;
public class StautsLinkTest {
public static void main(String[] args) {
StautsLinkTest test = new StautsLinkTest();
test.test();
}
public String name="com.wd.test.state.BL";
public void test(){
List<L> ls = new ArrayList<L>();
ls.add(new AL());
ls.add(new BL());
ls.add(new CL());
ls.add(new DL());
ls.add(new EL());
ls.add(new FL());
ls.add(new GL());
ls.add(new HL());
ls.add(new IL());
ls.add(new JL());
for (int i = 0; i < ls.size(); i++) {
if(ls.get(i).getName().equals(name)){
ls.get(i).check(name);
}
}
}
}
class Cons{
public static final int a=1;
public static final int b=2;
public static final int c=3;
public static final int d=4;
public static final int e=5;
}
abstract class L{
//a --b --d
// --c
//d --e--g
// --j
// --f--h
// --i
protected String name = this.getClass().getName();
protected String prename;
public String getPrename() {
return prename;
}
public void setPrename(String prename) {
this.prename = prename;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<L> getLs() {
return ls;
}
public void setLs(List<L> ls) {
this.ls = ls;
}
void curr(){
System.out.println("come to"+this.getClass().getName());
}
void next(){
}
void deal(L l){
System.out.println("deal "+l.getName());
}
public void check(String name){
for (int i = 0; i < ls.size(); i++) {
if(ls.get(i).getName().equals(name)){
deal(ls.get(i));
next();
}
}
}
List<L> ls=new ArrayList<L>();
}
class AL extends L{
public void next(){
ls.add(new BL());
ls.add(new CL());
}
}
class BL extends L{
@Override
void next() {
ls.add(new DL());
}
}
class CL extends L{
@Override
void next() {
System.out.println("is to end");
}
}
class DL extends L{
@Override
void next() {
ls.add(new EL());
}
}
class EL extends L{
@Override
void next() {
ls.add(new JL());
ls.add(new GL());
}
}
class FL extends L{
@Override
void next() {
ls.add(new HL());
ls.add(new IL());
}
}
class GL extends L{
@Override
void next() {
System.out.println("it is to end");
}
}
class LL extends L{
@Override
void next() {
System.out.println("it is to end");
}
}
class HL extends L{
@Override
void next() {
System.out.println("it is to end");
}
}
class IL extends L{
@Override
void next() {
System.out.println("it is to end");
}
}
class JL extends L{
@Override
void next() {
System.out.println("it is to end");
}
}
相關文章
- Java責任鏈模式(ChainofResponsibility模式)Java模式AI
- 責任鏈模式模式
- JAVA設計模式之責任鏈模式Java設計模式
- 從抽象類開始,詳解責任鏈模式抽象模式
- Java學設計模式之責任鏈模式Java設計模式
- 我的Java設計模式-責任鏈模式Java設計模式
- 「責任鏈模式」栗子模式
- 責任鏈模式探究模式
- 責任鏈模式妙用模式
- 23_責任鏈模式模式
- PHP-責任鏈模式PHP模式
- 這就是『責任鏈模式』?模式
- 責任鏈模式(Chain Of Responsibility)模式AI
- 5、php責任鏈模式PHP模式
- 設計模式之責任鏈模式——Java語言描述設計模式Java
- 聊一聊責任鏈模式模式
- 責任鏈模式(案例解析)(9)模式
- 責任鏈模式的實踐模式
- Netty中的責任鏈模式Netty模式
- 設計模式-責任鏈模式設計模式
- 設計模式 —— 責任鏈模式設計模式
- Chain of responsibility-責任鏈模式AI模式
- 設計模式(責任鏈模式)設計模式
- Design Patterns in Android:責任鏈模式Android模式
- 設計模式之責任鏈模式設計模式
- 設計模式之——責任鏈模式設計模式
- 設計模式(三) 責任鏈模式設計模式
- 用Lambda重構責任模式鏈模式
- 程式碼精簡之路-責任鏈模式模式
- c#中責任鏈模式詳解C#模式
- 責任鏈模式在SpringAOP中的使用模式Spring
- PHP 設計模式之責任鏈模式PHP設計模式
- 極簡設計模式-責任鏈模式設計模式
- 設計模式系列之「責任鏈模式」設計模式
- Java進階篇設計模式之八 ----- 責任鏈模式和命令模式Java設計模式
- 看懂了責任鏈模式,你就能明白很多模式
- 責任鏈模式在 Spring 中的應用模式Spring
- 代理模式增強之路(代理+責任鏈模式)模式
- 設計模式(四)OkHttp的責任鏈模式設計模式HTTP