One of the key distinctions between Alexander's architectural patterns and software design patterns is that software patterns encourage reuse and
modification of both
- objects and
Architectural patterns primarily encourage reuse of blueprints, that is classes, but not of the actual buildings, parks, and towns built from those
blueprints. It is much easier to tear down and replace part of a software package as needed than it is to extend a house.
The State Pattern seems like a great idea. It lets me change an object state dynamically. However, not all states have the same methods.
Administrators have more methods than User. Moderator does not have any of the methods from Admin or User. You can only use General to log in.
I think that this will then limit the ability to use State Pattern.
Do you have any suggestions for some other pattern?