en/coding: add design pattern