使用 DRY 原则重构此 if 语句

Refactor this if statement using DRY principles

有没有办法编写这个 if 语句,其中“逻辑”是相同的复制逻辑?我希望“logic”和“morelogic”在语句中只出现一次。

if (a.Exists)
{
  if (b.Exists)
  {
    logic
  }
  else
  {
    morelogic
  }
}
else
{
  logic
}
if(a.Exists && !b.Exists) 
{
   morelogic
}
else 
{
  logic
}