You even caught him right in the act, you say? Well, you are simply wrong. Let me explain.
You met him recently, right? What I mean is, you didn’t start dating when you were kids or anything. See, you’re in trouble right there. From early teens he’s been fantasizing about women. It’s at that age that the very idea of a woman came up. And attached to that fantasy were a bunch of attributes that he imagined “woman” to have.
You probably have all those attributes, but you see, long before you met him he had built this fantasy and now you are just a physical manifestation of those fantasies. It’s called late binding.
Now, I don’t doubt that he feels that you fulfill the fantasies that he began having as a teenager. But so does this other woman. Since you are late-bound, he can replace you with any other instance of a woman, as long as that woman also fulfills exactly the same fantasies (the position you found them in indicates that this is, in fact, the case).
What you’ve got here is not infidelity, it’s polymorphism. Go over to the mirror, look at yourself and tell yourself, over and over again, “I am just an object”. Then get over it.
Note that the same still applies if you are a man and the OO programmer is a woman. It also applies for same-sex couples. This is OO. It applies everywhere.