Keresés

Új hozzászólás Aktív témák

  • #03372544

    törölt tag

    válasz tick #6630 üzenetére

    Ilyesmire gondolt a kolléga.

    package example;

    public interface Job {

    void doTheJob();

    }

    -------------------------------------------------------------------------------------------------------------------------

    package example;

    public class ExecuteThisJob implements Job {

    @Override
    public void doTheJob() {
    System.out.println("ezt végrehajtom");
    }

    }

    -------------------------------------------------------------------------------------------------------------------------

    package example;

    public class RunningOutOfIdeasJob implements Job {

    @Override
    public void doTheJob() {
    System.out.println("nincs több ötletem");
    }

    }

    -------------------------------------------------------------------------------------------------------------------------

    package example;

    public class StartSomethingJob implements Job {

    @Override
    public void doTheJob() {
    System.out.println("valamit elindítok");
    }

    }

    -------------------------------------------------------------------------------------------------------------------------

    package example;

    import java.util.HashMap;
    import java.util.Map;

    public class JobFactory {

    private static final JobFactory INSTANCE;

    static {
    INSTANCE = new JobFactory();
    }

    private Map<String, Job> jobMapping;

    private JobFactory() {
    jobMapping = new HashMap<String, Job>();
    jobMapping.put("executeThis", new ExecuteThisJob());
    jobMapping.put("startSomething", new StartSomethingJob());
    jobMapping.put("runningOutOfIdeas", new RunningOutOfIdeasJob());
    }

    public static Job getJob(String jobType) {
    return INSTANCE.jobMapping.get(jobType);
    }

    }

    -------------------------------------------------------------------------------------------------------------------------

    package example;

    public class JobFactoryExample {

    private JobFactoryExample() {
    }

    public static void main(String[] args) {
    JobFactoryExample example = new JobFactoryExample();

    example.doTheAction("executeThis");
    example.doTheAction("startSomething");
    example.doTheAction("runningOutOfIdeas");
    }

    public void doTheAction(String actionName) {
    JobFactory.getJob(actionName).doTheJob();
    }

    }

  • WonderCSabo

    félisten

    válasz tick #6630 üzenetére

    Berakhatod egy Map-be, de egyébként ez tipikusan a Factory minta.

Új hozzászólás Aktív témák