systemctl edit smb.service to update the dependencies.
After=dirsrv.target - Will ensure the smb.service is started after dirsrv.target.
For robustness, (which will be worth while if you're tinkering with this stuff) you may also wish to include some of the following:
Requires=dirsrv.target - Activate dirsrv.target when smb.service is activated. Will cause smb.service to fail if dirsrv.target fails.
Wants=dirsrv.target - Activate dirsrv.target when smb.service is activated. Won't cause smb.service to fail if dirsrv.target fails.
BindsTo=dirsrv.target - If dirsrv.target is deactivated, deactivate smb.service.
systemd-ui provides a GUI for systemd. Gives a good view of the state of systemd but you'll still have to use a text editor to modify the unit files.