Spring'15で重複管理機能が追加されましたが、ApexでもDatabase.DMLOptionsを使うことで重複管理機能を利用することができます。

Debug Logでの確認

重複管理の設定
一致ルール

重複ルール

Salesforce DUG Meetup#8で聞いた話
次のようにAllowSaveを指定することで重複時に保存できるかエラーにするか指定することができます。『false』にするとエラーになり、『true』にすると重複していても保存が可能になります。
dml.DuplicateRuleHeader.AllowSave = false;

Meetupで『true』にしてもエラーになるよねって話があったので試してみたのですが、『false』でも『true』でもエラーになりました。正式リリースされるときには直ってるといいですねって話でした。