wich is a good object oriented algorithm development practice?
Hi I'm new to programming and got a really good book wich the main focus is to teach the concepts about programming using C# syntax.
I'm doing great alone but after each chapter there is 1 exercise with the concepts helping with a blueprint of the program including the list of variables, class diagram, structured English and the code itself to compare a huge list of exercises without any kind of help.

My biggest problem it is that I kinda feel I'm doing the exercises right but though painfull roads I mean when doing procedural programming it's easy but at OOP the thing change when you are creating multiple classes to be invoked by another one take this example:

class 1 (the one who contains main() method)

class 2 (wich contains the methods who will be invoked by class1 )

a few days ago I was writing everything in class 1 and then class 2 but of course I realized that its easy to make mistakes.

Then I changed my approach while doing statments in class 1 wich invoke something from class 2 I stop what I'm doing and go to class 2 and write what is being invoked in class 1 

But today I thought if it wouldnt be better just to write whole class 2 wich is independent and them write class 1.

is this last aproach a good practice ? I just dont want to get used to code in a way wich leads to many problems or unecessary time consuming  

sorry for the long post and thanks in advance.
wich is a good object oriented algorithm development practice?
===

Hi I'm new to programming and got a really good book wich the main focus is to teach the concepts about programming using C# syntax.
I'm doing great alone but after each chapter there is 1 exercise with the concepts helping with a blueprint of the program including the list of variables, class diagram, structured English and the code itself to compare a huge list of exercises without any kind of help.

My biggest problem it is that I kinda feel I'm doing the exercises right but though painfull roads I mean when doing procedural programming it's easy but at OOP the thing change when you are creating multiple classes to be invoked by another one take this example:

class 1 (the one who contains main() method)

class 2 (wich contains the methods who will be invoked by class1 )

a few days ago I was writing everything in class 1 and then class 2 but of course I realized that its easy to make mistakes.

Then I changed my approach while doing statments in class 1 wich invoke something from class 2 I stop what I'm doing and go to class 2 and write what is being invoked in class 1 

But today I thought if it wouldnt be better just to write whole class 2 wich is independent and them write class 1.

is this last aproach a good practice ? I just dont want to get used to code in a way wich leads to many problems or unecessary time consuming  

sorry for the long post and thanks in advance.