[designPattern]add modulePattern