Skip to content

linuxhenhao/design_patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

design_patterns

All those are learning from derek's design_patterns video serials youtube channel

  1. strategy pattern:

    • a list of similar algorithms, implement every one in a seperate class
    • attach one of the implemented class's instance to our running class
    • may need dynamic change (not necessary)

    example:

    class Test {
        private Strategy strategy;
        public Test(Strategy strategy) {
            this.strategy = strategy;
        }    
        
        public void trySpark() {
            System.out.println(strategy.spark());
        }
    
        public void setStrategy(Strategy strategy) {
            # changing working behavior dynamicly       
            this.strategy = strategy;
        }
    }
    
    Interface Strategy {
        public string spark();
    }
    
    class DogStrategy implements Strategy {
        @override
        public string spark() {
            return "Wang Wang";
        }
    }
    
    class CatStrategy implements Strategy {
        @override
        public string spark() {
            return "Miao Miao";
        }
    }

About

design patterns quick review: sketch

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published