当前位置: 移动技术网 > IT编程>网页制作>CSS > typescript设计模式之策略模式实例解析

typescript设计模式之策略模式实例解析

2018年10月07日  | 移动技术网IT编程  | 我要评论

typescript 设计模式--策略模式

用到的地方

1.代码中switch-case,if-else if这些比较多,并且可能扩展的
2.需要安全地封装多种同一类型的操作时

定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化。
例子:

    interface cell {
        type: string;
        value: any;
    }
    interface render {
        render(cell: cell): void;
    }
    class daterender implements render{
        public render(cell: cell) {

        }
    } 
    class imagerender implements render {
        public render(cell: cell) {

        }
    }
    class selectrender implements render {
        public render(cell: cell) {

        }
    }
    class defaultrender implements render {
        public render(cell: cell) {

        }
    }
    class excel {
        protected cells: cell[];
        constructor() {
            this.cells = [];
        }
        public init() {
            for(let cell of this.cells) {
                let cellrender: render = null;
                if(cell.type == 'date') {
                    cellrender = new daterender();
                }else if(cell.type == 'image') {
                    cellrender = new imagerender();
                }else if(cell.type == 'select') {
                    cellrender = new selectrender();
                }else{
                    cellrender = new defaultrender
                }
                cellrender.render(cell);
            }
        }
    }
    function showexcell() {
        let excell = new excel();
        excell.init();
    }
    showexcell();

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网