<?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>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35614.aspx</link><pubDate>Sat, 29 Sep 2007 15:33:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35614</guid><dc:creator>γιωργος μπακογιαννης</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35614.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35614</wfw:commentRss><description>Θα πω κάτι άσχετο.&lt;BR&gt;Παναγιώτη, προσοχή στην μονάδα μέτρησης. Δεν αντικαθιστούμε κιλά κώδικα με μερικές δεκάδες γραμμές. Αλλά αντικαθιστούμε κιλά κώδικα με μερικά γραμμάρια κώδικα. &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;BR&gt;Θα μας μαλώσει ο Ζαχαρίας Δετοφτιάχνω&lt;BR&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35585.aspx</link><pubDate>Sat, 29 Sep 2007 01:46:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35585</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35585.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35585</wfw:commentRss><description>&lt;P&gt;&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-14.gif" alt="Devil" /&gt;Μα ποιός σας είπε ότι αναφερόμουνα σε brochure web sites? &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-14.gif" alt="Devil" /&gt;&lt;/P&gt;
&lt;P&gt;Άκουγα τώρα το podcast του DotNetRocks για το EntitySpaces. Γενικά ακούγεται καλό για rapid development αν και με ξένισε λίγο ότι δεν σκοπεύουν να ασχοληθούν σύντομα με το LINQ "γιατί έχουν καλύτερο query syntax". Μάλλον πρόκειται για περίπτωση "Not Invented Here" αλλά υποθέτω ότι θα πιεστούν να υποστηρίξουν το LINQ μέσα στο επόμενο εξάμηνο. Το LINQ δεν είναι άλλο ένα ORM (το DLINQ είναι) αλλά μία τεχνολογία για να κάνεις queries σε οποιαδήποτε πηγή. Αν μπορώ να το χρησιμοποιήσω σε Collections, XML, άλλα ORM, ακόμα και το Sharepoint, γιατί να πρέπει να αλλάξω τρόπο επικοινωνίας με το EntitySpaces? &lt;/P&gt;
&lt;P&gt;Από την άλλη, βρήκα εντυπωσιακό&amp;nbsp; ότι έχουν templates για να αντικατασήσουν το data access layer του DotNetNuke! Αυτό ακούγεται πολύ-πολύ ενδιαφέρον. Αυτή είναι μία ξεκάθαρη περίπτωση όπου η ταχύτητα ανάπτυξης είναι πιο σημαντική από τις επιδόσεις: αντικαθιστάς κιλά κώδικα με μερικές δεκάδες γραμμές.&lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35583.aspx</link><pubDate>Sat, 29 Sep 2007 01:36:14 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35583</guid><dc:creator>New Yorker</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35583.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35583</wfw:commentRss><description>&lt;P&gt;Θα συμφωνήσω απόλυτα με τον Palladin.&lt;/P&gt;
&lt;P&gt;Ο Martin Fowler είναι genious όσο αφορά patterns and best practices.&lt;BR&gt;&lt;BR&gt;Αυτά που λέει όμως τεριάζουν σε enterprise designs όχι σε brochure web sites&amp;nbsp;ή ad-hoc windows προγράμματα όπου είναι overkill.&amp;nbsp;&lt;BR&gt;&lt;BR&gt;New Yorker.&lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35578.aspx</link><pubDate>Fri, 28 Sep 2007 22:15:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35578</guid><dc:creator>PALLADIN</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35578.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35578</wfw:commentRss><description>&lt;P&gt;Για τα εκτος Παρένθεσης, θα συμφωνήσω απόλυτα φιλε Παναγιώτη.&lt;/P&gt;
&lt;P&gt;Για τα εντός Παρένθεσης... δεν υπάρχει "σοβαρός" enterprise style developer που να σέβεται τον εαυτό του και να μην έχει διαβάσει το &lt;A href="http://martinfowler.com/eaaCatalog/"&gt;PoEAA&lt;/A&gt;. Είναι το ίδιο σαν να λέμε ότι ένας professional compiler&amp;nbsp;hacker δεν έχει διαβάσει το dragon book...&lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35576.aspx</link><pubDate>Fri, 28 Sep 2007 22:02:19 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35576</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35576.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35576</wfw:commentRss><description>&lt;P&gt;(Παρένθεση)&lt;/P&gt;
&lt;P&gt;PoEAA? Μπουάααχαααχαχααχααααα&lt;/P&gt;
&lt;P&gt;Είδα πρόσφατα κώδικα ο οποίος έφτιαχνε DataTable στον αέρα, του πρόσθετε τα Columns και μετά τα rows και το έστελνε στη φόρμα. Η φόρμα μετά έπιανε το DataTable και έφτιαχνε τις στήλες ενός Grid μία μία. Εδώ δύο τινά συμβαίνουν: Ή ο προγραμματιστής σκόπευε να φτιάξει ORM-UI generator ή δεν είχε ακούσει για Databinding και προσπαθούσε να δουλέψει όπως παλιά με τα Recordsets (VB6 για εσάς τους νέους).&lt;/P&gt;
&lt;P&gt;(Τέλος Παρένθεσης)&lt;/P&gt;
&lt;P&gt;Στο σοβαρό τώρα, είναι σημαντικό να κάνει κανείς το διαχωρισμό μεταξύ light- και heavy-weight approach. Αν ήθελα να φτιάξω ένα scalable σύστημα θα διάλεγα την heavy-weight, για να μπορώ να έχω έλεγχο ΥΠΟ ΤΟΝ ΟΡΟ ότι η ομάδα που θα χρησιμοποιούσε π.χ. το NHibernate είχε την κατάλληλη πείρα σε scalable συστήματα ή σε object-oriented σχεδίαση. Σε ομάδες που ουσιαστικά τώρα ξεκινάνε στον χώρο του .NET, το ActiveRecord μπορεί να είναι υπεραρκετό. Από τη μία πλευρά διευκολύνει την επικοινωνία με τη βάση, από την άλλη επιτρέπει σωστό σχεδιασμό της εφαρμογής. Το performance μπορεί να μην είναι το καλύτερο δυνατό, αλλά θα είναι σίγουρα πολύ καλύτερο από το να τραβάει κανείς τα δεδομένα από τη βάση όποτε θέλει, μέσα από τις ίδιες τις φόρμες.&lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35575.aspx</link><pubDate>Fri, 28 Sep 2007 21:43:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35575</guid><dc:creator>PALLADIN</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35575.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35575</wfw:commentRss><description>&lt;P&gt;Με φώναξες και ήρθα... &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/P&gt;
&lt;P&gt;Εγώ θα το δω το θέμα λίγο διαφορετικά... για μένα έχει να κάνει με τη διάκριση ανάμεσα σε lightweight και heavyweight approaches.... (ActiveRecord και Data Mapper)&lt;/P&gt;
&lt;P&gt;Το θέμα των ORM έχει να κάνει "σε μεγάλο βαθμό" με την&lt;BR&gt;φιλοσοφία και το mentality του κάθε programmer...και του κάθε community&lt;/P&gt;
&lt;P&gt;Στο κόσμο του rails υπάρχει πολύ συγκεκριμένο mentality και πολύ "αυστηρά" opinions... Opinionated software&lt;/P&gt;
&lt;P&gt;Η άποψη μου είναι ότι το ActiveRecord και το Data Mapper έχουν το ρολο τους σε αυτό τον κόσμο... Ας μελετήσουμε όλοι PoEAA... και μετά όλα θα είναι &lt;BR&gt;πιο ξεκάθαρα...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35566.aspx</link><pubDate>Fri, 28 Sep 2007 20:58:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35566</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35566.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35566</wfw:commentRss><description>&lt;P&gt;Μα που είναι ο Palladin, να αρχίσει να μας λέει για τη Ruby και το Rails? Εκεί η δημιουργία data κλάσεων από τη βάση είναι σχεδόν αυτόματη!&lt;/P&gt;
&lt;P&gt;Πλάκα-πλάκα, όλα τα ORM είναι δίκοπο μαχαίρι. Από τη μία, η πρόσβαση στη βάση γίνεται όλο και ευκολότερη. Από την άλλη, αν δεν προσέχεις μπορεί να εκτελείται απίστευτα κακός κώδικας. Τα πιο εύκολα ORM σου επιτρέπουν να ξεκινήσεις πολύ γρήγορα, αλλά δεν σου επιτρέπουν να ελέγξεις την πρόσβαση στη βάση αρκετά. Από την άλλη, τα πιο προχωρημένα ORM θέλουν καιρό για να καταφέρεις να κάνεις τα πρώτα σου queries. &lt;/P&gt;
&lt;P&gt;Πιστεύω ότι το πρόβλημα αυτό θα το συναντήσουμε πολύ έντονο τα επόμενα χρόνια με το LINQ. Τώρα που η πρόσβαση στη βάση θα είναι ακόμα ευκολότερη, θα αυξηθούν οι περιπτώσεις εκτέλεσεις κακών queries. Έχω ήδη βρει blogs που υποστηρίζουν ότι "τώρα δεν θα χρειαζόμαστε stored procedures". Κάτι αντίστοιχο με όσα έλεγαν πριν 2 χρόνια όταν ο SQL Server άρχισε να υποστηρίζει CLR types! Φοβάμαι ότι πολύς κόσμος θα αρχίσει να γράφει LINQ queries και να χτυπάει όποιο πίνακα βρει χωρίς να σκέφτεται τις επιπτώσεις.&lt;/P&gt;
&lt;P&gt;Από την άλλη, κάθε φορά που βλέπω κώδικα που ανοίγει RecordSet ή DataReader, και μέσα στο loop καλεί άλλο Recordset ή DataReader ... και μετά φταίει η βάση&lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35542.aspx</link><pubDate>Fri, 28 Sep 2007 13:13:20 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35542</guid><dc:creator>New Yorker</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35542.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35542</wfw:commentRss><description>&lt;P&gt;Funny!&lt;/P&gt;
&lt;P&gt;Μου αρέσει το EntitySpaces γιατί γίνεται install σε μερικά λεπτά και με πολύ λίγη προσπάθεια κάνεις generate τον κώδικα και γράφεις application code.&lt;BR&gt;&lt;BR&gt;Από την άλλη το Llbgen έχει πολλές ικανότητες αλλά έχει και μερικά δύσκολα concepts. &lt;BR&gt;Μέχρι να είσαι έτοιμος να γράψεις τον δικό σου κώδικα θέλει καιρό να εξοικειωθείς.&lt;BR&gt;&lt;BR&gt;New Yorker&lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35536.aspx</link><pubDate>Fri, 28 Sep 2007 06:48:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35536</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35536.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35536</wfw:commentRss><description>&lt;P&gt;Δεν προλάβαμε να αναφέρουμε το EntitySpaces και στο DotNetRocks ανεβάσανε &lt;A href="http://www.dotnetrocks.com/default.aspx?showNum=276"&gt;podcast&lt;/A&gt;&amp;nbsp;του Mike Griffin γι αυτό!&lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35495.aspx</link><pubDate>Thu, 27 Sep 2007 16:19:39 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35495</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35495.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35495</wfw:commentRss><description>&lt;P&gt;Και τώρα βγάζει και LINQ for LLBLGen Pro! Πλάκα-πλάκα, ένα από τα μεγαλύτερα ατού του LLBLGen Pro είναι ο δημιουργός, ο Frans Bouma και το καλό community. Δεν φτάνει το NHibernate αλλά είναι πολύ καλό. &lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35493.aspx</link><pubDate>Thu, 27 Sep 2007 16:12:25 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35493</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35493.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35493</wfw:commentRss><description>&lt;P&gt;Εγώ έχω δουλέψει με το LLBLGen Pro σε δύο workgroup app projects. Ειδικότερα το δεύτερο ήταν πολύ "specs on the fly" και αυτό που με ικανοποίησε ιδιαίτερα ήταν το πόσο αναίμακτα πέρναγαν οι αλλαγές από τη βάση στον κώδικα...&lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35480.aspx</link><pubDate>Thu, 27 Sep 2007 04:21:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35480</guid><dc:creator>New Yorker</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35480.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35480</wfw:commentRss><description>&lt;P&gt;Συμφωνώ.&lt;/P&gt;
&lt;P&gt;Εγώ δουλεύω το EntitySpaces (&lt;A href="http://www.entrityspaces.net"&gt;www.entrityspaces.net&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;Είναι φτηνό και έχει ότι χρειάζομαι.&lt;BR&gt;&lt;BR&gt;New Yorker&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35478.aspx</link><pubDate>Thu, 27 Sep 2007 03:35:20 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35478</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35478.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35478</wfw:commentRss><description>&lt;P&gt;Συμφωνώ σε αυτό. Το NHibernate θέλει δουλειά και προσοχή. Ένα από τα συχνότερα προβλήματα στα οποία πέφτουν οι νέοι χρήστες είναι να φορτώνουν ένα αντικείμενο από τη βάση και μαζί με αυτό, χωρίς να το καταλάβουν, και όλα τα αντικείμενα με τα οποία σχετίζεται! Αλλάζοντας ένα και μόνο attribute στο XML mapping file το πρόβλημα λύνεται, αλλά πολλοί την πατάνε. Το καλό του NHibernate (πέρα από την τιμή)&amp;nbsp;είναι ότι υποστηρίζει πάρα πολλές βάσεις: ακόμα και αυτές οι οποίες δεν υποστηρίζονται από την έκδοση για .NET έχουν drivers στην έκδοση για Java. Είναι αρκετά εύκολο να αντιγράψει κανείς τον driver από τη Java στο .NET. Και πάλι όμως, δεν μιλάμε για νέους χρήστες. &lt;/P&gt;
&lt;P&gt;Υπάρχει πάντως και η λύση του &lt;A href="http://www.castleproject.org/activerecord/index.html"&gt;Castle ActiveRecord&lt;/A&gt;, το οποίο εσωτερικά χρησιμοποιεί NHibernate για να συνδέσει κλάσεις με πίνακες χωρίς πολύ φασαρία. &lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35467.aspx</link><pubDate>Thu, 27 Sep 2007 01:06:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35467</guid><dc:creator>New Yorker</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35467.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35467</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; 
&lt;P&gt;Το NHibernate είναι κλασσικό ORM με mapping files, αν και ως Open Source δεν προλαβαίνει να ακολουθήσει τις εξελίξεις της πλατφόρμας. &lt;/P&gt;
&lt;P&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;To NHibernate έχει μεγάλο learning curve αλλά έχει μεγάλες ικανότητες. Αν θέλεις κάτι για μικρά projects, διάλεξε κάτι πιο απλό όπως το LLBGen.&lt;/P&gt;
&lt;P&gt;New Yorker.&lt;/P&gt;</description></item><item><title>Απ: ποιό εργαλείο object-relational mapping (ORM) ?</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35465.aspx</link><pubDate>Thu, 27 Sep 2007 00:56:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35465</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35465.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=35465</wfw:commentRss><description>&lt;P&gt;Ε, αυτή την κουβέντα την είχα χάσει! Βλέπεις, ξεκίνησε όταν περίμενα τον ΟΤΕ να μεταφέρει τη γραμμή μου ... για ένα μήνα.&lt;/P&gt;
&lt;P&gt;Καταρχήν, άλλο πράγμα το ORM, άλλο μα τελείως άλλο, μα εντελώς άσχετα άλλο είναι ο app server και το Remoting (το οποίο μας άφησε χρόνους μεταξύ άλλων). Στο Remoting δεν θα αναφερθώ, καθώς (πέρα από το ότι καταργήθηκε με το WCF) ήταν κατάλληλο μόνο για interprocess communication στο ίδιο μηχάνημα. Κάτι το οποίο άλλωστε η μαμά Microsoft το λέει από το 2003. Οι κατάλληλες τεχνολογίες για distributed apps ήταν πάντα τα Web Services (για Interop) ή τα Enterprise Services (για transaction management, security, lifecycle management κλπ). Όλα αυτά πλέον έχουν μπει κάτω από την ομπρέλα του WCF. &lt;/P&gt;
&lt;P&gt;Μιλώντας τώρα για ORM, ο χώρος στο .NET είναι σε συνεχή αναβρασμό. Σε αντίθεση με τη Java, όπου το Hibernate είναι το Α και το Ω, στο .NET υπάρχουν δεκάδες εργαλεία με παρόμοια χαρακτηριστικά αλλά διαφορετικές φιλοσοφίες. Το NHibernate είναι κλασσικό ORM με mapping files, αν και ως Open Source δεν προλαβαίνει να ακολουθήσει τις εξελίξεις της πλατφόρμας. Η ταχύτητα ανάπτυξης του όμως αυξάνεται συνεχώς καθώς αυξάνονται οι developers που το χρησιμοποιούν και&amp;nbsp;συνεισφέρουν στο έργο.&amp;nbsp;Το LLBLGen Pro από την άλλη βασίζεται στη δημιουργία κώδικα. Είναι επίσης πολύ καλό, με πολύ καλή υποστήριξη και features. &lt;/P&gt;
&lt;P&gt;Το Φεβρουάριο του 2006 ο Jason Mauss έγραψε το &lt;A href="http://www.howtoselectguides.com/dotnet/ormapping/"&gt;How-To-Select an Object-Relational Mapping Tool for .NET&lt;/A&gt;&amp;nbsp;όπου σύγκρινε περίπου 30 ORMs. Από τότε, σχεδόν όλα τα ORM έχουν εξελιχθεί σε σημείο που παρέχουν σχεδόν τα ίδια features! Διαφοροποιήσεις υπάρχουν πάντως σε πιο εξεζητημένα θέματα, όπως π.χ. κατά πόσο το ORM συνεργάζεται με το LINQ. &lt;/P&gt;
&lt;P&gt;Για τους app server (και τί είναι ή εννοεί ο καθένας app server) θα απαντήσω αργότερα, αλλά η βασική ιδέα είναι: Τί παραπάνω από το WCF χρειάζεσαι? Ουκ ολίγα, αλλά η ερώτηση είναι σημαντική για να ξεχωρίσουν οι απαιτήσεις και τα προϊόντα&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item></channel></rss>