mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-08-04 22:17:25 +02:00
README in Visitor
This commit is contained in:
8
Visitor/README.md
Normal file
8
Visitor/README.md
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Visitor
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
|
||||||
|
The Visitor Pattern lets you outsource operations on objects to other objects. The main reason to do this is to keep a separation of concerns.
|
||||||
|
But classes have to define a contract to allow visitors (the `Role::accept` method in the example).
|
||||||
|
|
||||||
|
The contract is an abstract class but you can have also a clean interface. In that case, each Visitor has to choose itself which method to invoke on the visitor.
|
@@ -3,14 +3,7 @@
|
|||||||
namespace DesignPatterns\Visitor;
|
namespace DesignPatterns\Visitor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Visitor Pattern
|
* class Role
|
||||||
*
|
|
||||||
* Purpose:
|
|
||||||
* The Visitor Pattern lets you outsource operations on objects to other objects. The main reason to do this is to keep
|
|
||||||
* a separation of concerns. But classes have to define an contract to allow visitors (the "accept" method in the example below).
|
|
||||||
*
|
|
||||||
* The contract is an abstract class but you can have also a clean interface.
|
|
||||||
* In that case, each Visitor has to choose itself which method to invoke on the visitor.
|
|
||||||
*/
|
*/
|
||||||
abstract class Role
|
abstract class Role
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user