One thing I did a long time ago that really helped me understand myself and how I view friends, relationship, or even myself. And while it's hard to hear or it's even something you know it's very helpful to see your weakness written out. It's helped me recognize them and to be more situationally aware.
In the case of relationships I always stick around much much to long after the relationship needs to part ways. It helped me to know that or just have it explain to my personailty type. My last relationship I successfully ended it before everything when severily south. I hope this could be a help to you all.
First you have to take the Jung Myers Brigg personality test here: http://similarminds.com/jung_word.html
Then match up your personality type and read about all the various facets of it here: http://www.personalitypage.com/portraits.html
(ie. relationships, career, personal growth. etc) Those links are at the bottom when you selected your personality type.
The site best says what I'm trying to say:
We all come in different SHAPES and SIZES.
We all have STRENGTHS and weaknesses.
What's right for one person may not be right for another.
There are things that are important to me, that you don't care about at all!
And sometimes your behavior doesn't make any sense to me.
But I want for us to understand each other, and communicate well,
because we live together in the same world.
I know I can't expect you to want the same things that I want.
We are not the same person, so we will not always see things the same way.
I have my own Thoughts and my own Ideas,
that may or may not fit into your vision of who I should be.
By learning more about my own Personality, and about other Personality Types,
I can come to a better understanding of my strengths and weaknesses.
I can improve my interpersonal relationships, realign my expectations towards others,
and gain a better self-knowledge that will help me define and achieve goals.
Btw I'm an ENFP