<?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>Design &amp; Architecture</title><link>https://www.dotnetzone.gr:443/cs/forums/16/ShowForum.aspx</link><description>Θέματα αρχιτεκτονικής και σχεδιασμού εφαρμογών (design patterns, object orientation, κ.α.)</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Re: Object Oriented Programming</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1536.aspx</link><pubDate>Sat, 02 Apr 2005 04:06:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1536</guid><dc:creator>Aris</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1536.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=1536</wfw:commentRss><description>Μιά και ο λόγος για patterns και βιβλία, μην ξεχνάτε και το &lt;a target="_blank" title="http://http://www.amazon.com/exec/obidos/ASIN/0321127420" href="http://http://www.amazon.com/exec/obidos/ASIN/0321127420"&gt;Patterns of Enterprise Application Architecture &lt;/a&gt;(ISBN: 0-321-1274-20) του Martin Fowler (&lt;a target="_blank" title="http://www.martinfowler.com" href="http://www.martinfowler.com"&gt;http://www.martinfowler.com&lt;/a&gt;)</description></item><item><title>Re: Object Oriented Programming</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1230.aspx</link><pubDate>Fri, 18 Feb 2005 02:50:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1230</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1230.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=1230</wfw:commentRss><description>&lt;img src="/forums//emoticons/emotion-3.gif" alt="Surprise" /&gt;&lt;br /&gt;&lt;br /&gt;Καλά, εσύ δεν είσαι σε μήνα του μέλιτος? Δεν πρόλαβες να γυρίσεις και τόριξες πάλι στα forums? Τί πράγματα είναι αυτά?&lt;br /&gt;&lt;br /&gt;Συγκλονίζομαι!</description></item><item><title>Re: Object Oriented Programming</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1227.aspx</link><pubDate>Fri, 18 Feb 2005 00:50:15 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1227</guid><dc:creator>patrick</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1227.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=1227</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;dpal wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt;Κατά Allen Holub δεν είναι εκεί η ουσία άλλα αντίθετα στο ρητό:&lt;br /&gt;"Never ask an object for information that you need to do something; rather ask the object that has the information to do the work for you" (aka minimize the use of get/set).&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;Τώρα μάλλον θα ανοίξω ιστορίες εδώ, αλλά κανείς δεν σχολίασε αυτό το μέρος του μηνύματος, που κατά την ταπεινή μου άποψη περιέχει πολύ ζουμί.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Δυστυχώς, λίγοι ασχολούνται με το θέμα encapsulation (σε αυτό αναφέρεται ο Holub), ενώ είναι ένα από τα σημαντικότερα θέματα / προβλήματα σε επίπεδο design εφαρμογών.&amp;nbsp; Με λίγα λόγια (διότι μόλις γύρισα, και γίνεται ένας πανικός εδώ!), τείνω να είμαι υπέρ του encapsulation περισσότερο από του inheritance, κυρίως για λόγους decoupling (αυτό και αν είναι μεγάλο θέμα προς συζήτηση).&lt;br /&gt;&lt;br /&gt;In any case, αυτό είναι ένα από τα μεγαλύτερα λάθη που βλέπω σε "object oriented" λύσεις:&amp;nbsp; πολλές classes με get/set οι οποίες ουσιαστικά χρησιμοποιούνται ως structures και τίποτε άλλο (άντε, έχουν και 2-3 methods, απλά και μόνο επειδή μπορούν!).&amp;nbsp; Δε λέω, υπάρχουν περιπτώσεις που είναι όντως σπαζοκεφαλιά το πως να φτιάξεις τα objects σου ώστε να έλαχιστοποιήσεις την χρήση των get/set μεταξύ τους, αλλά με λίγη σκέψη και καλή σχεδίαση, μπορούν να βγουν όμορφα αποτελέσματα.&lt;br /&gt;&lt;br /&gt;Έχει ένα καλό κομμάτι στο Design Patterns (GoF), κάπου στην αρχή που μιλάει για αυτό το θέμα (ότι δηλαδή το inheritance "σπάει" το encapsulation).&amp;nbsp; Sorry για το vague reference, αλλά τα βιβλία μου είναι σε κούτες!&lt;/p&gt;</description></item><item><title>Re: Object Oriented Programming</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1191.aspx</link><pubDate>Tue, 15 Feb 2005 21:41:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1191</guid><dc:creator>dpal</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1191.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=1191</wfw:commentRss><description>&lt;p&gt;Παιδιά δεν ψάχνω μαγικό ραβδί για να μεταμορφωθώ από τη μια μέρα στην άλλη. Πιστεύω ότι από VB6 έχω κάνει αρκετά πράγματα (τουλάχιστον αυτά που λεει ο gcapnias) και έχω και έχω γράψει κώδικα που δεν ντρέπομαι να δείξω (τουλάχιστον μέχρι να μάθω κάτι νέο και καλύτερο...) σε ότι αφορά readability &amp;amp; maintainability.&lt;/p&gt; &lt;p&gt;Αυτό που ψάχνω είναι να γλιτώσω το χρόνο που μου παίρνει να διαβάζω άσχετα πράγματα. Η εμπειρία ήταν και θα είναι είναι αναντικατάστατη. Σημαντικότερη όμως παραμένει η διαδικασία της μάθησης (διορθώστε με αν κάνω λάθος) όπου και προσπαθώ να είμαι πιο αποτελεσματικός σε σχέση με το χρόνο που θα δαπανήσω. Προτιμώ η εμπειρία να έρθει δεύτερη να κλείσει τα όποια κενά άφησε η μάθηση.&lt;/p&gt; &lt;p&gt;Αυτή τη στιγμή έχω ένα project σε C# και προσπαθώ να μην γίνω ένας ακόμα VB6 developer που δεν πήρε χαμπάρι ότι άλλαξε γλώσσα. (πόσους τέτοιους ξέρετε?)&lt;/p&gt; &lt;p&gt;Σε ότι αφορά τα παραδείγματα και την γλώσσα που απαιτούν, νομίζω ότι με την&amp;nbsp; C# είμαι σε θέση να καταλάβω (έτσι νιώθω τουλάχιστον).&lt;/p&gt; &lt;p&gt;Σχετικά με την Java και πολύ περισσότερο την C++ …θεωρώ ότι ήταν λάθος καριέρας να μην ξεκινήσω από μια από αυτές γιατί ίσως αυτή η μια θα ήταν αρκετή... &lt;/p&gt; &lt;p&gt;Από βιβλία τελικά μάλλον θα αγοράσω – δανειστώ το «Analysis Patterns : Reusable Object Models» (απο gcapnia από άλλο post) και θα συνεχίσω το «Holub on Patterns» άλλα και φυσικά όποιο άλλο βρω από αυτά που προτείνονται εδώ.&lt;/p&gt; &lt;p&gt;P.S. Προσωπικά δεν χρησιμοποιώ Public Variables (ούτε στην VB6) πόσο μάλλον τώρα...(εκτός αν είναι Quick &amp;amp; Dirty)&lt;/p&gt;</description></item><item><title>Re: Object Oriented Programming</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1190.aspx</link><pubDate>Tue, 15 Feb 2005 21:07:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1190</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1190.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=1190</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;pkanavos wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Και αναγκαστικά θα πρέπει να μάθεις C++ ή Java για να μπορείς να διαβάζεις τα παραδείγματα &lt;img alt="Smile" src="/forums//emoticons/emotion-1.gif" /&gt;. &lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;Δυστυχώς αυτή είναι η αλήθεια. Μην ξεχνάμε και την ECMAScript 262 ή ανάλογα με τον κατασκευαστή JScript/Javascript/ActionScript/(ΟΤΙ)Script. Δεν είναι ότι ακριβώς οι προαναφερόμενες αλλά έχει και αυτή τη μαγεία της...&lt;br /&gt;&lt;br /&gt;George J.&lt;br /&gt;</description></item><item><title>Re: Object Oriented Programming</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1189.aspx</link><pubDate>Tue, 15 Feb 2005 20:33:59 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1189</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1189.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=1189</wfw:commentRss><description>&lt;p&gt;&lt;font style="BACKGROUND-COLOR: #efefef"&gt;Βιβλία για OOP υπάρχουν πολλά. Για VB όμως ... κανένα?!&lt;br /&gt;&lt;br /&gt;Εξήγηση: Το OOP χωρίς inheritance είναι σαν ψαρόσουπα χωρίς ψάρι. Συνεπώς, όλα τα καλά βιβλία έχουν βγει για C++, Java, Smalltalk (απ' όπου και ξεκίνησε). Πολύ δύσκολα θα βγει τώρα ένα καλό βιβλίο για OOP το οποίο να αναφέρεται σε VB.NET ή C#, απλά και μόνο γιατί ο χώρος έχει κορεσθεί. (Ίσως, γιατί η MS έχει προσλάβει όλους σχεδόν τους παλιούς μεγάλους συγγραφείς οπότε δεν ξέρεις τί μπορεί να βγει στο μέλλον).&lt;br /&gt;&lt;br /&gt;Όσο για το πως να κάνεις τη σχεδίαση ή την ανάλυση, υπάρχουν τόσα βιβλία όσα και μεθοδολογίες * 20 (κατά μέσο όρο). Το πρόβλημα είναι ότι τα βιβλία παρουσιάζουν ένα τρόπο σαν τυφλοσούρτι αλλά στην πραγματικότητα κανείς ποτέ δεν δουλεύει με αυτό τον τρόπο. Τελικά, παίρνεις ιδέες απ' όλους, τις συνδιάζεις και όταν έρθει η ώρα ασυνείδητα τις εφαρμόζεις όπως βολεύει. &lt;br /&gt;&lt;br /&gt;Ένα πολύ καλό βιβλίο είναι το &lt;a target="_blank" title="http://www.amazon.co.uk/exec/obidos/ASIN/0135974445/supergenious-21" href="http://www.amazon.co.uk/exec/obidos/ASIN/0135974445/supergenious-21"&gt;Agile Software Development: Principles, Patterns and Practices&lt;/a&gt;, του Robert Martin (ISBN: 0-13-597444-5). Παρουσιάζει τις βασικές αρχές που πρέπει να ακολουθήσεις (π.χ. Loose Coupling), τα Patterns που μπορείς να χρησιμοποιήσεις για να τις εφαρμόσεις καθώς και case studies όπου δείχνει βήμα-βήμα πως προχώρησε η σχεδίαση, τις αλλαγές που έγιναν στο δρόμο.&amp;nbsp;Σε βάζει κατευθείαν στο ζουμί χωρίς φλυαρίες&amp;nbsp;και θεωρίες (θυμάσαι το Yourdon?).&lt;br /&gt;&amp;nbsp; Και ο τρόπος δουλειάς που περιγράφει ταιριάζει στο ελληνικό περιβάλλον εργασίας (got it? &lt;img src="/forums//emoticons/emotion-5.gif" alt="Wink" /&gt;).&lt;br /&gt;&lt;br /&gt;Γενικώς, τα βιβλία για Patterns είναι μια καλή και γρήγορη παρουσίαση καλών σχεδιάσεων. Οπωσδήποτε θα πρέπει να πάρεις το &lt;a target="_blank" title="http://www.amazon.co.uk/exec/obidos/ASIN/0201633612/supergenious-21" target="_blank" href="http://www.amazon.co.uk/exec/obidos/ASIN/0201633612/supergenious-21" target="_blank"&gt;&lt;font color="#004377"&gt;GoF: Design patterns : elements of reusable OO Software&lt;/font&gt;&lt;/a&gt;, τουλάχιστον επειδή σε αυτό αναφέρονται όλα τα άλλα βιβλία. &lt;br /&gt;&lt;br /&gt;Και αναγκαστικά θα πρέπει να μάθεις C++ ή Java για να μπορείς να διαβάζεις τα παραδείγματα &lt;img src="/forums//emoticons/emotion-1.gif" alt="Smile" /&gt;. &lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;</description></item><item><title>Re: Object Oriented Programming</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1188.aspx</link><pubDate>Tue, 15 Feb 2005 20:18:29 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1188</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1188.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=1188</wfw:commentRss><description>Χμ, και ποιός σου είπε οτι στις ADSL συνδέσεις δεν πέφτει το πράγμα; &lt;img src="/forums/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;Και στη δουλειά και σπίτι ADSL έχω, αλλά δυστυχώς η βροχή κάνει πολλά κακά...&lt;img src="/forums/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;</description></item><item><title>Re: Object Oriented Programming</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1187.aspx</link><pubDate>Tue, 15 Feb 2005 20:11:40 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1187</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1187.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=1187</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;cap wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt;Ειχα ετοιμάσει ένα μεγάλο - μεγάλο μήνυμα σαν απαντηση αλλα ας όψεται η σύνδεση...το έφαγε η μαρμάγκα (επεσε η σύνδεση στιγμιαία για 2 δευτερόλεπτα, την ώρα που πατησα το submit και από εδώ πάνε και οι άλλοι)...&lt;img alt="Smile" src="/forums/emoticons/emotion-1.gif" /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br /&gt;&lt;br /&gt;Καιρός να ενισχύσεις τον κρατικό μας φορέα τηλεπικοινωνιών, και να βάλεις μια σύνδεση ADSL... &lt;img src="/forums//emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;br /&gt;&lt;br /&gt;George J.</description></item><item><title>Re: Object Oriented Programming</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1186.aspx</link><pubDate>Tue, 15 Feb 2005 20:09:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1186</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1186.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=1186</wfw:commentRss><description>&lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;dpal wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt;Δουλεύοντας με stuctured programming (VB6) και προσπαθώντας να μάθω και να εφαρμόσω (αν μάθω...) OO Programming δεν μπορώ να βρω κάποιο βιβλίο που να καλύπτει το θέμα διεξοδικά.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt; &lt;p&gt;Η αλήθεια εδώ είναι ότι δεν υπάρχουν και πολλά resources πάνω στο θέμα. Είναι γενικά ένα λεπτό θέμα όσο έχει να κάνει με τους VB developers. Δεν έχουμε από καμιά μεριά τα "best of" ούτε "best practices". Και όσα βιβλία έχουν να κάνουν με το πρόβλημα έχουν εμφανιστεί τον τελευταίο καιρό.&lt;/p&gt; &lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;dpal wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt;Δεν μιλάω φυσικά για το τι είναι Inheritance, Polymorphism, κ.τ.λ. Από αυτά μας έχει φουσκώσει η μαμά MS και ο κάθε τυχαίος ή μη που θέλει κάτι να γράψει στο site ή στο Blog του. Είμαι πεπεισμένος ότι μισοί από αυτούς δεν γνωρίζουν το ζήτημα (ημιμαθείς είναι η σωστή λέξη) και απλώς μπλά-μπλα-δίζουν πάνω σε C# και VB.Net. Μιλάω για το πώς ξεκινάς από το Design, τι πρέπει να προσέξεις στο Implementation, τι προσφέρει, τι μειονεκτήματα έχει, πότε δεν πρέπει να χρησιμοποιείται κ.τ.λ....&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt; &lt;p&gt;Ναι, σε αυτό μαζί σου. Όταν μαθαίνεις VB, μαθαίνεις όλα εκείνα τα τεχνικά πράγματα πως να κάνεις κλάσεις, να τους δίνεις ιδιότητες, να κάνεις public functions/sunroutines και να γίνονται οι μέθοδοι του αντικειμένου και να του προσθέτεις events που ειδοποιούν όλα τα άλλα κομμάτια κώδικα που τρέχουν μαζί με το δικό σου. Άντε στο πιο μεγάλο level εκπαίδευσης VB από την Microsoft μαθαίνεις πως συμπεριφέρεται η DNA πλατφόρμα, τα Component Services, τα Distributed και μη Transaction, ο SQL Server και αυτό ήταν.&lt;/p&gt; &lt;p&gt;Όταν μαθαίνεις .ΝΕΤ προγραμματισμό, η Microsoft δεν έχει αλλάξει καθόλου τον τρόπο που παραδίδει την γνώση. Πάλι μιλάει για της γλώσσες και την αρχιτεκτονική του σε τεχνικό επίπεδο.&lt;/p&gt; &lt;p&gt;Είναι σαν να έχουμε ένα σιδερά και του μιλάμε για καινούργιες τεχνικές πως να φτιάξει κάτι, πως να χρησιμοποιήσει το αμόνι του, κτλ... Κανένας δεν του λέει πως να είναι σιδεράς όμως! Κάτι αντίστοιχο συμβαίνει και με όλη την εκπαίδευση της Microsoft, υπολογίζουν ότι ο προγραμματιστής τα ξέρει όλα αυτά.&lt;/p&gt; &lt;p&gt;Όλοι αυτοί οι προγραμματιστές του .NET, δεν ήταν όλοι ή οι περισσότεροι προγραμματιστές VB και δεν φτιάχτηκε το .NET Framework για τους προγραμματιστές VB! Όλοι αυτοί οι προγραμματιστές που τόσο καιρό τρωγόντουσαν με δύσκολες γλώσσες προγραμματισμού βλ C++ όπως και νεότερες του είδους βλ Java, από την στιγμή που είδαν το .NET έκαναν αυτό που δεν μπορούσαν να κάνουν τόσα χρόνια: Έχουν εκτοξεύσει στον ουρανό την παραγωγικότητα τους και οι VB προγραμματιστές τους κοιτάμε από την γη. Δεν είναι δυνατόν να κρατήσουμε τους ίδιους ρυθμούς με αυτούς και ποτέ δεν το κάναμε.&lt;/p&gt; &lt;p&gt;Αυτά που ζητάς, είναι η εμπειρία που μαζεύεται πάνω στην γλώσσα από την χρήση της. Η VB είναι σε αυτή την μορφή που είναι πάνω κάτω η VB6 είναι από την VB5 SP2, όταν άρχισαν τα components της να είναι apartment threading. Μιλάμε περίπου δέκα χρόνια τώρα, άντε εννιά. Λογικό είναι να έχουμε "best practices" και "best of" γενικότερα. Δεν συμβαίνει αντίστοιχα το ίδιο και το .NET. Είναι πολύ μικρό χρόνο που υπάρχει και "συνεχώς αλλάζει"! Αν δεν σταθεροποιηθεί δεν νομίζω ότι θα ακολουθήσουν πολλοί πιστοί από την VB6...&lt;/p&gt; &lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;dpal wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt; Το καλύτερο που βρήκα μέχρι τώρα σχετικά με OOP είναι το πρώτο κεφάλαιο (δεν έχω διαβάσει παρακάτω ακόμα...) από το "Holub on Patterns: Learning Design Patterns by Looking at Code" by Allen Holub (ISBN: 159059388X) όπου αναλύει πολλά μη προφανή (σε εμένα τουλάχιστον) στα οποία όμως ανιχνεύω αλήθεια και αποτελεσματικότητα.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt; &lt;p&gt;Δυστυχώς δεν έχω κάτι έτοιμο να προτείνω επάνω σε αυτό, εκτός από ένα βιβλίο που είχε εμφανιστεί μαζί με το .NET Framework, ειδικά για ΟΟ και VB προγραμματιστές, αλλά έχει εξαφανιστεί πάνω από την βιβλιοθήκη μου εδώ και κάμποσο καιρό και πρέπει να το αναζητήσω... &lt;img src="/forums//emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt; &lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;dpal wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt;Σχετικά με τα όποια site με patterns&amp;nbsp; (ακόμα και αυτό της MS που ανέφερε ο gcapnias) τα βλέπω ως απλά Memo's άλλα σε καμιά περίπτωση ως βοηθητικά για να μάθει κάποιος. Να δούμε αν θα ωριμάσουν με τον καιρό...&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt; &lt;p&gt;Μάλλον το αντίθετο... Έχε υπόψη σου ότι αυτά είναι πιο πολύ Frameworks και έχουν να πουν για λύσεις σε Enterprise επίπεδο. Αλίμονο αν θέλεις να κάνεις μια απλή εφαρμογή που διαχειρίζεται δεδομένα, και πρέπει να βάλεις μέσα ένα module που είναι από μόνο του σαν εκτελέσιμη μορφή περίπου 20MB!&lt;/p&gt; &lt;p&gt;Αυτά τα Frameworks είναι πολύ ώριμα για τους VB developers. Προέρχονται από προγραμματιστές που έχουν μεγάλη πείρα στον χώρο του OO και του Enterprise computing. Δεν είναι πραγματικότητα για ένα περιβάλλον ενός VB developer! Δεν ήταν φτιαγμένος για αυτό, όχι, ότι δεν μπορούσε να φτάσει. Αυτό το ότι μπορούσε να φτάσει, τον έκανε αγαπητό.&lt;/p&gt; &lt;p&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/forums/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;dpal wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt;Σε ότι δε αφορά τους Developers... ο καθένας έχει την δική του γνώμη για το τι είναι OOP και πώς γίνεται σωστά [&amp;lt;:o)] &lt;/p&gt; &lt;p&gt;π.χ. Οι πιο πολλοί νομίζουν ότι εάν είναι ο όλος ο κώδικας σε Classes και χρησιμοποιούμε τα get/set για να δούμε τα δεδομένα τους τότε είμαστε OO Gourous... &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;/p&gt; &lt;p&gt;Ως γνωστό "best practice" είναι: ότι είναι get/set να το κάνεις public variable και ότι είναι μόνο get ή set να το κάνεις property. &lt;img src="/forums//emoticons/emotion-1.gif" alt="Smile" /&gt; Αυτό από τα "παλιά χρόνια" των VB προγραμματιστών!&lt;/p&gt; &lt;p&gt;George J.&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Object Oriented Programming</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1185.aspx</link><pubDate>Tue, 15 Feb 2005 19:44:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1185</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1185.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=1185</wfw:commentRss><description>Ειχα ετοιμάσει ένα μεγάλο - μεγάλο μήνυμα σαν απαντηση αλλα ας όψεται η σύνδεση...το έφαγε η μαρμάγκα (επεσε η σύνδεση στιγμιαία για 2 δευτερόλεπτα, την ώρα που πατησα το submit και από εδώ πάνε και οι άλλοι)...&lt;img src="/forums/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;&lt;br /&gt;Ρίξε πάντως μια ματιά στο &lt;a target="_blank" title="http://btobsearch.barnesandnoble.com/booksearch/isbnInquiry.asp?btob=Y&amp;amp;isbn=1861006985&amp;amp;itm=1" href="http://btobsearch.barnesandnoble.com/booksearch/isbnInquiry.asp?btob=Y&amp;amp;isbn=1861006985&amp;amp;itm=1"&gt;Professional Design Patterns in VB.Net: Building Adaptable Applications&lt;/a&gt;. Περιέχει μια σειρά επιλεγμένων GoF design patterns καθώς και μια υλοποίηση του MVC με κώδικα σε VB.NET. &lt;br /&gt;&lt;br /&gt;Γενικά για το OOP/ΟΟD παντως, προσωπική μου άποψη είναι οτι δεν αποτελεί πανάκεια. Δυστυχώς μου έφαγε η μαρμάγκα το post των 6 παραγράφων που εξηγούσα το ...γιατί, θα επιχειρήσω αργότερα να το τεκμηριώσω. &lt;br /&gt;&lt;br /&gt;</description></item><item><title>Object Oriented Programming</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/1184.aspx</link><pubDate>Tue, 15 Feb 2005 19:05:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:1184</guid><dc:creator>dpal</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/1184.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=1184</wfw:commentRss><description>&lt;p&gt;Δουλεύοντας με stuctured programming&amp;nbsp;(VB6) και προσπαθώντας να μάθω και να εφαρμόσω (αν μάθω...) OO Programming δεν μπορώ να βρώ κάποιο βιβλίο που να καλύπτει το θέμα διεξοδικά. &lt;br /&gt;&lt;br /&gt;Δεν μιλάω φυσικά για το τι είναι Inheritance, Polymorphism, κ.τ.λ. Από αυτά μας έχει φουσκώσει η μαμά MS και ο κάθε τυχαίος ή μη που θέλει κάτι να γράψει στο site ή στο Blog του. Είμαι πεπεισμένος ότι μισοί από αυτούς δεν γνωρίζουν το ζήτημα (ημιμαθείς είναι η σωστή λέξη) και απλώς μπλά-μπλα-δίζουν πάνω σε C# και VB.Net. Μιλάω για το πώς ξεκινάς από το Design, τι πρέπει να προσέξεις στο Implementation, τι προσφέρει, τι μειονεκτήματα έχει, πότε δεν πρέπει να χρησιμοποιείται κ.τ.λ....&lt;br /&gt;&lt;br /&gt;&lt;img src="/forums//emoticons/emotion-55.gif" alt="Idea" /&gt;Το καλύτερο που βρήκα μέχρι τώρα σχετικά με OOP είναι το πρώτο κεφάλαιο (δεν έχω διαβάσει παρακάτω ακόμα...) από το "Holub on Patterns: Learning Design Patterns by Looking at Code" by Allen Holub (ISBN: 159059388X) όπου αναλύει πολλά μη προφανή (σε εμένα τουλάχιστον) στα οποία όμως ανιχνεύω αλήθεια και αποτελεσματικότητα.&lt;br /&gt;&lt;br /&gt;Σχετικά με τα όποια site με patterns&amp;nbsp; (ακόμα και αυτό της MS που ανέφερε ο gcapnias) τα βλέπω ώς απλά Memo's&amp;nbsp;άλλα&amp;nbsp;σε καμιά περίπτωση ώς&amp;nbsp;βοηθητικά για να μάθει κάποιος. Να δούμε αν θα ωριμάσουν με τον καιρό...&lt;br /&gt;&lt;br /&gt;Σε ότι δε αφορά τους Developers... ο καθένας έχει την δική του γνώμη για το τι είναι OOP και πώς γίνεται σωστά&amp;nbsp;[&amp;lt;:o)]&amp;nbsp;&lt;br /&gt;&lt;br /&gt;π.χ. Οι πιο πολλοί νομίζουν ότι εάν είναι ο όλος ο κώδικας σε Classes και χρησιμοποιούμε τα get/set για να δούμε τα δεδομένα τους τότε είμαστε OO Gourous... &lt;br /&gt;&lt;br /&gt;Αλλά μάλλον όχι. Κατά Allen Holub δεν είναι εκεί η ουσία άλλα αντίθετα στο ρητό:&lt;br /&gt;"Never ask an object for information that you need to do something; rather ask the object that has the information to do the work for you" (aka minimize the use of get/set).&lt;br /&gt;&lt;br /&gt;Κρίνοντας από την ποιότητα στα posts σε άλλα θέματα (αν δεν παινέψεις το σπίτι....) περιμένω τις υποδείξεις άλλα και τις διορθώσεις σας!&lt;/p&gt;</description></item></channel></rss>