To Me the difference between the Abstract Factory Pattern and the Factory Meathod Pattern is a question of responsibility. Both Patterns are Factory Patterns and very similar in the fact that they both provide a smoother interface for a hierarchy of objects by providing a central entry point for creation.
However, the responsiblity of knowing what object in the hierarchy needs to be created can be assigned to either side of the pattern. The Factory Method Pattern takes responsiblity for knowing that, while the client must take on this responsibility to use the Abstract Factory Pattern.
The Adapter and Bridge are similar in the sense that they both separate abstractions, they differ in their reasons for doing so. In the case of the Adapter it decouples interface from internals so as to conform to a standard interface. In the case of Bridge, it decouples abstractions less to maximise compatibilities than to hide complexities from a user.
a)The difference in Factory Method Pattern and Abstract Factory Pattern is the type objects that the ConcreteCreator can create. In the Factory Method Pattern the ConcreateCreator will return one type of object. In the Abstract Factory Pattern the ConcreateCreator will be able to create/return sets of related or dependent objects.
b) Both Bridges and Adapters increase the layer of abstraction by providing interfaces for other software to deal with. The differences are that with a Bridge you control both the implementation and the interface and can vary either, independently, wiht ease. However, with an Adapter, you are providing a new more useable interface and you have no control over the implementation. Jared Parsons