Currently, all getInstance() methods are planned to be removed.
However not every has a proper replacement despite suggestion to use "factories".
Here a few that I found and that need a solution.
Form::getInstance() vs FormFactory::createForm().Form::getInstance() return cached instance and also loads the data 
joomla-cms/libraries/src/Form/Form.php
Lines 1707 to 1716 in ffe1acf
FormFactory::createForm() just create a new instance, and always return new.
Returning cached instance is critical when we need to manipulate the form multiple times at runtime.
Look for example subform field. Also for performance.
And removed possibility to load the data (by form name or from path) will lead to code duplication, inconsistencies and more bugs.
User::getInstance() vs UserFactory::loadById()User::getInstance() return cached instance.
UserFactory::loadById() always return new User instance, always perfoms DB query for this user.
Returning cached instance is critical here for many use cases, especially while rendering large list of content and when extension may hook in to and also check for user. This can hurt performance.
| Labels | 
                                        Added: 
No Code Attached Yet
 | 
    ||
| Labels | 
                                        Added: 
b/c break
 | 
    ||
Can i take this issue ?