Является ли хорошей идеей использовать аспекты в качестве метода удаления защитных проверок из логики приложения?

Вроде длинное название, но это вообще вопрос.

Я хочу знать, считаете ли вы его хорошим идея сделать следующее.

Вместо:

public void buyItem(int itemId, int buyerId) {
    if (itemId <= 0) {

        throw new IlleglArgumentException("itemId must be positive");
    }
    if (buyerId <= 0) {

        throw new IlleglArgumentException("buyerId must be positive");
    }
    // buy logic
}

Я хочу иметь что-то вроде:

@Defensive("isPositive(#itemId, #buyerId)")
public void buyItem(int itemId, int buyerId) {
    // buy logic
}

Как вы думаете, это хорошо / ужасно / слишком модно / слишком медленно? Если вы действительно думаете, что это хорошо, я думал об использовании SpEL для его реализации, есть ли у кого-нибудь на уме что-то лучше / легче / быстрее?

Спасибо,

8
задан Simeon 5 April 2012 в 09:09
поделиться