The Python Observer/Observable pattern
This is an implementation of the Observer/Observable pattern.
In software development literature, Observer/Observable is a software pattern. From an Observer/Observable perspective, there are two kinds of objects:
- objects which experience events or state changes (Observables)
- objects which need to know about other objects’ events (Observers)
If you have any experience with event-based programming, such as with toolkits like GTK+ or Qt, you’ll be familiar with the Observer/Observable pattern. Observer objects register themselves with the Observable object of their interest, and when Observables experience events, these events are relayed to the Observers.
Observer/Observable lets software developers build loosely coupled object meshes. What this means to you: your software will be more stable and easier to refactor.
Resources
License
This software is under the GPL. See the file COPYING for licensing information. Contact me if you need to license this software under a different license.
Getting help
Help for this software is available in several forms. Here are the rules:
- E-mails or posted comments with bug reports, patches, suggestions or contributions of any kind will be received by me in good faith, and I will, in time, incorporate all submitted improvements, in any form, to the software.
- This software is delivered to you without warranty of any kind, as recognized by the GNU General Public License.
- Special requests, such as customization, third-party licenses, development of large features, or requests which require software engineering to be applied, will be performed by me, for a fee. If you’re attracted to my engineering skills, wait until you see my rates. After all, living on a Third World country has its advantages. Let me know if you’re interested.