<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Πρώτα Βήματα - Αρχές προγραμματισμού</title><link>https://www.dotnetzone.gr:443/cs/forums/72/ShowForum.aspx</link><description>Αναρωτιέστε τι σημαίνει object; Class; Inheritance; Design pattern; Την απάντηση μπορείτε να την βρείτε εδώ!</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Ερώτημα για object orientation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/27260.aspx</link><pubDate>Wed, 28 Mar 2007 23:32:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:27260</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/27260.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=27260</wfw:commentRss><description>&lt;P&gt;Γιατί σου κάνει εντύπωση; Θα προσπαθήσω να το απλοποιήσω: Αν υποθέσουμε ότι φτιάχνουμε ένα object, πχ:&lt;/P&gt;
&lt;P&gt;Dim x as new Form1&lt;/P&gt;
&lt;P&gt;τότε ορίζουμε ένα reference (που ονομάζεται "x") και ουσιαστικά δείχνει στην&amp;nbsp;περιοχή μνήμης που βρίσκεται το object. Η περιοχή μνήμης δεν γνωρίζει ποιό είναι το reference που της αντιστοιχεί. Το ίδιο ισχύει και όταν ορίζουμε ένα object μέσα από ένα άλλο object. Αν χρειάζεται μέσα από το referenced object να αναφερθούμε στο referee object θα πρέπει να υλοποιήσουμε εμείς τον μηχανισμό. Μάλιστα, στο COM αυτός ο μηχανισμός ήταν πηγή προβλημάτων γιατί πολλές φορές όταν προέκυπταν circular references&amp;nbsp;τα οποία, λόγω της τεχνικής που έχει το COM για να καταστρέφει objects, δεν έφευγαν από τη μνήμη ακόμα και αν&amp;nbsp;έβγαιναν από το scope.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Ερώτημα για object orientation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/27255.aspx</link><pubDate>Wed, 28 Mar 2007 23:04:20 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:27255</guid><dc:creator>Panos Kousidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/27255.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=27255</wfw:commentRss><description>Σε κατάλαβα cap και όντως αυτό είναι μια λογική αν θέλει κάποιος να μην κρατάει info στα παιδιά. Αυτό που ρωτούσα ήταν κάτι που μου έκανε εντύπωση : Δηλαδή πώς γίνεται ένα object να δημιουργεί ένα άλλο και να μην υπάρχει πουθενά στο 2ο object αυτόματα ένα reference στο object που το δημιούργησε... Αλλά εφόσον αυτό δεν είναι κάτι έτοιμο δεν αξίζει να μπλέξω το πρόγραμμα με περαιτέρω διαδικασίες. Ευχαριστώ!&lt;br&gt;</description></item><item><title>Απ: Ερώτημα για object orientation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/27240.aspx</link><pubDate>Wed, 28 Mar 2007 21:00:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:27240</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/27240.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=27240</wfw:commentRss><description>&lt;P&gt;Αν και άργησα, να πω οτι αν είναι απολύτως απαραίτητο να έχεις γνώση του ποιός ανήκει σε τι χωρίς όμως τα "παιδιά" να περιέχουν πληροφορίες για τους "γονιούς" μπορείς να δημιουργήσεις μια ενδιάμεση κλάση η οποία θα παίζει το ρόλο του factory αλλά και του registry. Αυτή η κλάση θα είναι υπεύθυνη για τη δημιουργία "παιδιών" που ανήκουν σε "γονείς" μέσω κάποιας μεθόδου π.χ. CreateNewChild(objParent), όπου θα περνάς φυσικά τον "γονιό". Απλά, αντί να κρατάει το "παιδί" την πληροφορία, θα την κρατάει ένα άλλο object (ας το πούμε registry - υπάρχει design pattern που να πλησιαζει αυτό το concept Πανο; ). &lt;/P&gt;
&lt;P&gt;Το θέμα είναι οτι και πάλι θα πρέπει να έχεις μια εξάρτηση από αυτό το registry, μια και θα πρέπει να ενημερώνεται όταν ένα "παιδί" ή ένας "γονιός" γίνεται dispose / nothing. Που σημαίνει οτι αναγκαστικά θα πρέπει τόσο τα "παιδιά" όσο και οι "γονείς" να πετάνε events για οτιδήποτε συμβαίνει που μπορεί να επηρεάσει το registry, και το registry να ακολουθεί το singleton pattern για να είσαι σίγουρος οτι υπάρχει ένα και μόνο ένα registry στο οποίο αναφέρεσαι ανά πάσα στιγμή.&lt;/P&gt;
&lt;P&gt;Τα λέω πολύ χοντρικά βέβαια, αλλά κάπως έτσι είναι η ιδέα. Το θέμα είναι οτι όλο αυτο το concept εισάγει φοβερή πολυπλοκότητα στον σχεδιασμό σου, την οποία θα πρέπει να υλοποιήσεις μόνο αν είσαι απολυτως σίγουρος οτι τη χρειάζεσαι. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Ερώτημα για object orientation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/27236.aspx</link><pubDate>Wed, 28 Mar 2007 20:47:06 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:27236</guid><dc:creator>Panos Kousidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/27236.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=27236</wfw:commentRss><description>OK ευχαριστώ πολύ για τις γρήγορες απαντήσεις. Αυτό ήθελα να μάθω. Πάντως αφού είναι πολύς μπελάς για το τίποτα οκ θα κάνω συνέχεια CreateChild(Me).&lt;br&gt;Όσο για την απάντηση του φίλου Δημήτρη: - LOL -&lt;br&gt;</description></item><item><title>Απ: Ερώτημα για object orientation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/27234.aspx</link><pubDate>Wed, 28 Mar 2007 20:34:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:27234</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/27234.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=27234</wfw:commentRss><description>&lt;p&gt;να προσθέσω κάτι κι εγώ... αν και είναι ακριβώς όπως τα λέει ο Παναγιώτης.&lt;/p&gt;&lt;p&gt;Στην προκειμένη περίπτωση για να γίνει το παιδί χρειάζονται δυο γονείς! Άρα δεν πρέπει ο γονιός να έχει function CreateChild. Η function πρέπει να είναι static, να παίρνει ορίσματα δυο γονείς και να επιστρέφει collection παιδιών! Και φυσικά το αρχικό πρόβλημα μετατίθεται σε άλλο επίπεδο, μια που κάθε παιδί δεν έχει έναν parent, αλλά δυο!&lt;br&gt;&lt;/p&gt;&lt;p&gt;Κάτι μου λέει βέβαια ότι η χρήση των λέξεων παιδί-γονιός έγινε χάρην παραδείγματος... αλλά δεν μπορούσα να αντισταθώ στον πειρασμό! &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;br&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Απ: Ερώτημα για object orientation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/27231.aspx</link><pubDate>Wed, 28 Mar 2007 20:18:43 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:27231</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/27231.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=27231</wfw:commentRss><description>Για να κάνεις κάτι τέτοιο, θα πρέπει ουσιαστικά να βρεις ποιός καλεί τον constructor και να θέσεις την parent property σε αυτόν. Όχι ότι δεν μπορείς να το κάνεις, αλλά θα πρέπει ουσιαστικά να ψάξεις στο call stack να δεις ποιός κάλεσε τον constructor. Πολύς μπελάς για το τίποτα.&lt;br&gt;&lt;br&gt;Γιατί θέλεις να κάνεις κάτι τέτοιο? Δεν σε περιορίζει σε τίποτε να θέσεις το parent property είτε στον constructor, είτε στην CreateChild. Έτσι εξάλλου δουλεύουν σχεδόν όλα τα collections του .ΝΕΤ. Αν αντιμετωπίζεις κάποιο περιορισμό που δεν σου επιτρέπει να το κάνεις αυτό, ίσως να έχει πρόβλημα η σχεδίαση σου κάπου αλλού.&lt;br&gt;</description></item><item><title>Απ: Ερώτημα για object orientation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/27230.aspx</link><pubDate>Wed, 28 Mar 2007 20:05:43 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:27230</guid><dc:creator>Panos Kousidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/27230.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=27230</wfw:commentRss><description>Ναι έτσι το ξέρω ότι μπορεί να γίνει, είναι όμως κάτι αντίστοιχο του να το βάζω στο constructor. Εγώ δε θέλω να ορίσω πουθενά στην parent class ότι το child θα έχει parent τον Γιώργο. Θέλω μέσα στην ChildClass να μάθω αν μπορεί να γίνει κάτι&lt;br&gt;</description></item><item><title>Απ: Ερώτημα για object orientation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/27226.aspx</link><pubDate>Wed, 28 Mar 2007 19:56:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:27226</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/27226.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=27226</wfw:commentRss><description>Μπορείς απλά μέσα στην CreateChild να θέτεις την τιμής της Giorgos στον parent, π.χ. &lt;br&gt;&lt;br&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Dim&lt;/span&gt; newChild &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;As&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;New&lt;/span&gt; Child&lt;br&gt;Child.Name=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Ειρήνη"&lt;/span&gt;&lt;br&gt;Child.Parent=&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;Me&lt;/span&gt;&lt;/span&gt;&lt;br&gt;</description></item><item><title>Ερώτημα για object orientation</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/27225.aspx</link><pubDate>Wed, 28 Mar 2007 19:44:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:27225</guid><dc:creator>Panos Kousidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/27225.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=27225</wfw:commentRss><description>Δεν ξέρω αν το διατύπωσα σωστά αλλά έχω το εξής πρόβλημα&lt;br&gt;&lt;br&gt;Έχω μία κλάση "Γονιός" και μία κλάση "Παιδί"&lt;br&gt;Η κλάση "Γονιός" μπορεί να περιέχει πολλά instances της κλάσης "Παιδί".&lt;br&gt;&lt;br&gt;Αυτό που με ενδιαφέρει κυρίως είναι εάν γίνεται με κάποιο τρόπο το κάθε instance της κλάσης "Παιδί" να ξέρει αυτόματα σε ποιο "Γονιό" ανήκει χωρίς να περνάω τον "Γονιό" στο constructor του.&lt;br&gt;Δηλαδή έχοντας το εξής παράδειγμα:&lt;br&gt;&lt;br&gt;Dim Panos as New Γονιός&lt;br&gt;Dim Eirini as Παιδί = Panos.CreateChild("Ειρήνη")&lt;br&gt;&lt;br&gt;Msgbox (Eirini.Gonios)&lt;br&gt;Με κάποιο τρόπο το property Gonios του "Παιδί" να βρίσκει σε ποιο "Γονιό" ανήκει&lt;br&gt;&lt;br&gt;Πώς ακριβώς θα υλοποιήσω κάτι τέτοιο;&lt;br&gt;
&lt;br&gt;&lt;br&gt;</description></item></channel></rss>