Sto pensando a come il software come Microsoft Windows cresca da piccolo come MS-DOS a Windows 7, Adobe Photoshop dalla sua prima versione alla versione CS5. Quali tecniche sono state utilizzate per realizzare questo? Hanno estendere il loro software dal software esistente o riprogettato per la prossima versione? O hanno già pianificato il loro software in modo solido prima di costruirlo?
È difficile per me estendere la mia applicazione / software quando ho bisogno di aggiungere nuove funzionalità e fa confusione con altre funzionalità esistenti. Come posso migliorare l'estensibilità del mio software in modo da poter aggiungere facilmente nuove funzionalità al tuo software?