Win a copy of Kotlin in Action this week in the Kotlin forum!
    Bookmark Topic Watch Topic
  • New Topic

Modularization  RSS feed

 
Moni Marva
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
  • Report post to moderator
As we know that modularization is essential but then how to achieve this? That is what are the useful guidelines to achieve an intelligent modularization
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Mark post as helpful
  • send pies
  • Report post to moderator
The classic guidelines from the structured days of yore are to maximize cohesion and minimize coupling. That means a "module" does one thing well and knows as little as possible about other modules.

So, what is a module? We work on coupling and cohesion at the levels of methods, classes, packages, components and systems, so it's which ever you're talking about right now.

Something I learned with OO that I didn't learn with structured stuff is to care about compile time dependencies. You can manage which "modules" have to know about which others via interfaces, base classes and other abstraction techniques. This Blog by Robert Martin talks about a bunch of design principles; the package principles are all about module dependency (if you accept his definition of package as your module first.)

Any of that interesting? Keep asking! This is fun stuff to explore. Scroll on down to the OO, UML, etc forum for much more.
 
Gilberto
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Report post to moderator
Some editors (like IntelliJ) analyses your code and provide metrics related to modularization.

--------------------------------
Domingo Sebastian
SJCP
http://www.prestigevillas.com
 
Ilja Preuss
author
Sheriff
Posts: 14112
  • Mark post as helpful
  • send pies
  • Report post to moderator
Please don't crosspost. Continue discussin here: http://www.coderanch.com/t/99744/patterns/modularization

Closing...
 
It is sorta covered in the JavaRanch Style Guide.
    Bookmark Topic Watch Topic
  • New Topic
Boost this thread!