Sorry for my ignorance but I am little bit confused about Chain-of-responsibility pattern and composition. Below is my code,
class ValidatorChain { private $ validators; public function __construct(IValidator ...$ validators) { $ this->validators = $ validators; } public function isValid(Argument $ arg): bool { foreach ($ this->validators as $ validator) { if (!$ validator->isValid($ arg)) { return false; }; } return true; } }
What I needed is to keep multiple validation in one class and loop all the validations? Can you please suggest to improve the above code(including class name)? Can we call it Chain-of-responsibility pattern or it has any separate design name?