Нужно ли что-либо делать, кроме проверки, существует ли сущность? Я предполагаю, что нет.
Первый шаг: игнорировать правило «одной точки выхода» и уменьшить вложенность:
public bool SomeTest(int id1)
{
User user = userDao.GetById(id1);
if (user == null)
{
return false;
}
Blah blah = blahDao.GetById(user.BlahId);
if (blah == null)
{
return false;
}
FooBar fb = fbDao.GetById(blah.FooBarId);
if (fb == null)
{
return false;
}
return true;
}
Что будет дальше, вероятно, будет зависеть от языка ... какой язык вы используете и какую версию платформы? Можете ли вы изменить свои DAO? C # обладает большей языковой гибкостью (лямбда-выражения, оператор слияния нуля и тому подобное), что может быть полезно в этой ситуации.