When I was leaving my abusive husband my counsellor explained the circle of abuse to me. And in a few sentences he summed up my entire 8 year relationship.
So if you realize that the nice times are just a part of that circle leading back to getting assaulted physically or verbally you realize that all you have to do is step out of the track of that circle and it will all stop.
And it did... And then got into drugs... But that's another story
So step out of the track and let him spin on his own