title: Flyweight pattern - What is the point of an unshared concrete instance?
body: <p>As we all know, in the UML diagram of the Flyweight Pattern there is an unshared concrete instance, and it implements the interface flyweight. My question is, why should it implement it if its extrinsic state is kind of pointless? I mean, for the shared concrete instances, the interface is needed so you must be sure that the extrinsic state can be passed, but what about the unshared? Can we not easily not implement the interface and achieve the same results?</p>