В отдельный слой следует выделять только то, что подвержено изменениям при поддержке, либо будет использоваться как компонент еще где-то. Стандартно это ui/web, dal, business-logic. Иногда в отдельный слой выносят модели, т.к. они могут использоваться как промежуток между разными слоями, особенно если это dto модели.