Just to add to the excellent answer above, concerning Shakespeare's Hamlet, we might be tempted to condemn Hamlet for his cruelty to Ophelia under any circumstances, if we look at Hamlet's behavior from our modern, contemporary perspective. But we should remember that Shakespeare is only a couple of generations removed from Henry VIII.
Hamlet is a prince, heir to the throne. The setting is Denmark, of course, but Shakespeare is English. Hamlet possesses the power and authority to do just about anything he wants. And he is certainly living in a patriarchal society.
Hamlet's treatment of Ophelia is nasty, at best, to us, but probably would have not been so to Shakespeare's audience. And at least he didn't chop off her head.
Hamlet's ranting at Ophelia in Act 3, scene 1, leaves many readers feeling cold...
(The entire section contains 2 answers and 423 words.)