should have done是虚拟语气 表示应该做而实际上没有做,并且带有一种责怪的语气
eg. You should have finished your work. 表示你本应该做完作业而没有完成。
would have done也是对将来的事的虚拟 表示对将来可能发生事情的一种推测
She would have loved it
有。有。
一个强调应该,一个强调可能
should have done是对已发生的事的虚拟语气 表示应该做而实际上没有做
would have done是对将来的事的虚拟预期 表示将来可能会
should have done:本该做……
could have done:本能做……