策略模式

作用:定义行为(算法族)并封装起来,调用者可以根据需求相互替换,所以行为的变化独立与调用者。

OO原则:

封装变化
组合优于继承
针对接口编程优于针对实现编程



Example:
下面就是一个策略模式的一个特例,比较行为是变化的,每个调用者可以有不同的比较方法,将比较行为封装进Comparator,使用时实现自己的Comparator行为对象再组合传递进来。

Collections.sort(list, new Comparator<String>() {
        @Override
        public int compare(String o1, String o2) {
            return o1.length()-o2.length();
        }
    });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容