1 should have done
是含有虚拟条件句的
主句是第一人称时,并且是与过去相反的假设.
如:
If I had met her yesterda,I should (=would) have told her about the news.
should have done“本应该做”,含有“责备”之意.
You should have come earlier.你本该来早些.
2.should be done
是含有虚拟条件句的
主句是第一人称时,并且是与现在相反的假设的被动语态.
The book should be kept if it were not sold.
还有可能用在名词从句的虚拟语气
She suggested that the work (should) be done at once.