Hello world!
June 29, 2010 Leave a comment
The following demonstrates the use of the OverkillPattern:
Hello World
- public interface MessageStrategy
- {
- public void sendMessage();
- }
- public abstract class AbstractStrategyFactory
- {
- public abstract MessageStrategy createStrategy(MessageBody mb);
- }
- public class MessageBody
- {
- Object payload;
- public Object getPayload()
- {
- return payload;
- }
- public void configure(Object obj)
- {
- payload = obj;
- }
- public void send(MessageStrategy ms)
- {
- ms.sendMessage();
- }
- }
- public class DefaultFactory extends AbstractStrategyFactory
- {
- private DefaultFactory()
- {}
- static DefaultFactory instance;
- public static AbstractStrategyFactory getInstance()
- {
- if (null==instance) instance = new DefaultFactory();
- return instance;
- }
- public MessageStrategy createStrategy(final MessageBody mb)
- {
- return new MessageStrategy()
- {
- MessageBody body = mb;
- public void sendMessage()
- {
- Object obj = body.getPayload();
- System.out.println((String)obj);
- }
- };
- }
- }
- public class HelloWorld
- {
- public static void main(String[] args)
- {
- MessageBody mb = new MessageBody();
- mb.configure("Hello World!");
- AbstractStrategyFactory asf = DefaultFactory.getInstance();
- MessageStrategy strategy = asf.createStrategy(mb);
- mb.send(strategy);
- }
- }