0

特定のオブジェクトの検証に使用されるライブラリを作成しています。戦略パターンのように実装しました。

検証ライブラリを実装するための最適なパターンは何ですか?

私のコードの一部を以下に示します。

     //INTERFACE
     public interface IValidator {

            public  boolean validate(Object o) throws ValidationException;

        }


    //VALIDATOR OBJECT
    public class Validator {

        private IValidator validator;

        public Validator(IValidator validator)
        {
            this.validator=validator;
        }

        public boolean validate(Object o) throws ValidationException
        {
            return this.validator.validate(o);
        }

    }

    //EMAIL VALIDATOR 
    public class EmailValidator implements IValidator{

        @Override
        public boolean validate(Object o) throws ValidationException {

    //VALIDATE E MAIL HERE

            return false;
        }

    }


//TEST RUN
Validator validator = new Validator(new EmailValidator());
validator.validate("some email");
4

2 に答える 2

1

この質問への答えは主に主観的なものだと思いますので、私は自分の意見しか言えません。

私自身、そのようなタスクにも戦略パターンを使用しています。それが意図されているからです。関数の入力に応じて特定の検証戦略を使用するので、戦略パターンは問題ないと思います。

戦略パターンStrategy Patternに関する Wiki 記事の最初の部分を読んでください。彼らの主な例は、検証に関するものでもあります。

于 2013-07-18T11:28:45.777 に答える