Using packages (gems, eggs, etc.) to create decoupled architectures
        Posted  
        
            by 
                Juan Carlos Coto
            
        on Programmers
        
        See other posts from Programmers
        
            or by Juan Carlos Coto
        
        
        
        Published on 2014-05-27T18:12:40Z
        Indexed on 
            2014/05/28
            4:00 UTC
        
        
        Read the original article
        Hit count: 274
        
The main issue
Seeing the good support most modern programming platforms have for package management (think gem, npm, pip, etc), does it make sense to design an application or system be composed of internally developed packages, so as to promote and create a loosely coupled architecture?
Example
An example of this would be to create packages for database access, as well as for authentication and other components of the system. These, of course, use external packages as well. Then, your system imports and uses these packages - instead of including their code within its own code base.
Considerations
To me, it seems that this would promote code decoupling and help maintainability, almost in a Web-based-vs.-desktop-application kind of way (updates are applied almost automatically, single code base for single functionality, etc.).
Does this seem like a rational and sane design concept? Is this actually used as a standard way of structuring applications today?
Thanks very much!
© Programmers or respective owner