is it more good to use joi only without interface and only adopt interface on repo and controller layer