For example, say you want some of your classes to be able to be configured and store configurations. You could have a base class that includes that feature and then, in a single inheritance system like PHP, have all classes inherit from that class so that they can contain default behaviors. The problem with this is that you end up implementing all the class ‘features’ on the base class creating bloat and unneeded complexity in the inheriting classes, particularly if only a subset of the classes inheriting need the feature.
Many individuals see the Singleton Pattern as an anti-pattern. That is, a tool used to make code less optimal. The biggest drawback I can see is in testing in particular. Singletons are not entirely without merit however. There are domains in which a singleton provides a convenient and modular answer. As OODesign.com points out, there may only be need for one window manager, one file system (like the OS X Finder), one print spool, one logging mechanism, one configuration resource, one database access point, etc.
Primus is a collection of libraries/components that are expected to work together to form a general artificial intelligence server/runtime environment. Deployment and application propositions include mobile robotics, information processing, pattern recognition, and social interaction simulations.