Если в требованиях пункт «нам нужно обеспечить возможность сохранять адрес для каждого пользователя» превращается в «нам нужно обеспечить возможность сохранять два адреса для каждого пользователя», в девяти случаях из десяти нужно переходить сразу на этап «нам нужно обеспечить возможность сохранять много адресов для каждого пользователя», а гибкое ограничение в две штуки вводить только на уровне интерфейса, потому что с очень большой долей вероятности двух адресов вам не хватит. Делая такое предположение, вы практически точно останетесь в выигрыше, а если даже окажетесь в проигрыше, то потеряете очень немного.

developmentprinciple