Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Which Design pattern to use ?

 
shukla raghav
Ranch Hand
Posts: 203
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Here is my scenario

1. In my application I have a module : CommunicationMgmtSystem
2. CommunicationMgmtSystem (Package) has two submodules : MailMgmtSystem(package) and MobileMgmtSystem(package)
3. other modules call CommunicationMgmtSystem for sending automated mails or SMS, CommunicationMgmtSystem delegates the task of sending mails or SMS to respective submodule MailMgmtSystem or MobileMgmtSystem

I dont want other modules except CommunicationMgmtSystem to be able to access MailMgmtSystem/MobileMgmtSystem 's classes?
 
Arnold Reuser
Ranch Hand
Posts: 196
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
To answer this question. Your description is about the open closed principle.
Most applicable patterns are template method or strategy pattern.
You can differ between these two based on the answering the following question :
* Are you redefining a step of an algorithm without changing the algorithms structure. A positive answer on this will result in the template method.
* Are you redefining the structure of the algorithm used. A positive answer on this will result in the strategy pattern.
 
shukla raghav
Ranch Hand
Posts: 203
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Arnold,

My purpose is to modify the abstract factory pattern

You can get products from the factory by passing the relevant parameter. But i does not restrict any other class from accessing the product directly using new operator. How do we apply "Constraints" in abstract factory. I dont want to use reflection because it is expensive.

 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic