i’ve got 3 Log classes that all implements iLog interface:
DatabaseLog
FileLog
ScreenLog
there can only be one instance of them. initially i though of using single pattern for each class but then i thought why not use a factory for instantiation instead, cause then i wont have to create single pattern for each one of them and for all future Log classes.
and maybe someone would want them as multiple objects in the future.
so my questions is: should i use factory or singleton pattern here?
Where should responsibility for creating the Logger instance reside? With each class that wants to log? With some kind of supervisory component that understands the overall context?
I think it’s more likely to be the latter, and hence a Factory will make sense. The faactory can have all the logic for deciding which kind of logging is needed.