Just think of that: if one of those patterns would be a "perfect" one to be used everywhere, don't you think that all other creational patterns would be long forgotten and would never appear in modern publications and encyclopedias?
That simple practical reasoning suggests:
there is no a silver bullet. You should start with the architecture of your project, starting your focus from the goals of your project. That should lead you to a good selection. Besides, who told you that you have to use one single creational design pattern throughout the whole project? What makes you thinking that you cannot combine the approaches, or simply use different patters for different classes, layers or sub-systems?
You did not share enough information with us to make a choice for you. You are the one who needs to make the choice.
But even that is not the most important thing. More importantly, you have to remember that
using one or another design pattern cannot be one of your goals. Never. They are published to help your with the decisions on your product, not that your product should play the role of promoter of those patters. Patters, if any, always come next. I strongly advise to read my past answer,
"forget design patterns" answer on a related topic:
Please suggest me some basic C++ project with design patters[
^].
If you read it, you will see that "forget" is not what I really mean (this is a figure of speech). I just try to explain, among other things, how to rationally take those design patterns.
Always remember that using those design patterns is not your obligation.
—SA