Hi Avik_Dey,
So I have looked at the query and I think you are confused amongst different examples from different patterns. Your queries are in bold and answers are given below.
The AircraftBuilder interface hides how a given aircraft gets built.
For the flyweight pattern, we don’t use an AircraftBuilder interface. The F16 class implements a IAircraft interface but that has been intentionally left out as it is not pertinent to the pattern. The idea is that there’s some interface that the F16 implements but is unrelated to its creation of its objects in the context of the pattern under discussion
The client is unaware of the classes F16Engine , F16Cockpit and similar classes for Boeing-747.
These classes belong to an example from another pattern and not flyweight pattern. I think the reader is confused here. Please ask her/him to give more details on their source of confusion.
But the AircraftBuilder is not an interface. It is an abstract class.
Again the flyweight pattern doesn’t use the AircraftBuilder class, its unrelated to the example in this pattern.
Thank you for reaching out to us. Please let us know if you have any further queries.