As far as I know the object pool is a creational pattern and the flyweight is a structural pattern, but actually I can´t see very much difference between the two. Could some
An object pool is a container for a set of domain objects while a flyweight usually is a domain object.
An object pool usually contains a set of similar objects that can be shared concurrently, such as database connections, while there is usually a set of different flyweight objects, each representing a different state.