tag:blogger.com,1999:blog-2629608947246129428.post221810550706911416..comments2024-02-18T05:01:43.733-07:00Comments on Reference Bits: Agile Ado.Net Persistence Layer Part 1: Design OverviewRudy Lacovarahttp://www.blogger.com/profile/15639782534216467791noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-2629608947246129428.post-41772525714259093042015-02-13T02:14:22.628-07:002015-02-13T02:14:22.628-07:00Hi Rudy,
I'm 5 years behind you, it seems, an...Hi Rudy,<br /><br />I'm 5 years behind you, it seems, and I'd like to know if you still hold to the same beliefs 5 years later? (In regards to disdain for muffin-topped architecture and a separation of BAL and DAL).Anne-Lise Paschhttps://www.blogger.com/profile/07599093117281057746noreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-5075140758480970592014-11-10T07:40:32.014-07:002014-11-10T07:40:32.014-07:00Thank you for your article.
However, I think we s...Thank you for your article.<br /><br />However, I think we sould not go so "extremist" when applying the Agile YAGNI principle otherwise I will say that separating UI and BL is useless also, and as a result we'll end up by having a very dirty spaghetti code!<br /><br />If you never worked on a project that has a requirement to change the way data is saved (you're lucky) that doesn't mean that you'll never have it! And believe me when it comes You Ain't Gonna Love It .. the YAGLY principle will be here!<br /><br />RegardsAnonymoushttps://www.blogger.com/profile/11863541973271050699noreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-81450169125117424402012-09-18T00:32:03.308-06:002012-09-18T00:32:03.308-06:00Rudy, Awesome article.
I COMPLETELY agree with thi...Rudy, Awesome article.<br />I COMPLETELY agree with this conception and that's mainly the way i use to code my applications (even those in C).<br />I have really never understood separation between DAL/BLL (always appeared to me as coding for coding, adding a layer that most of the time is mapped 1:1).<br />In 20 years i have never changed of database (using Oracle 7->Oracle 11g) simply because investment in time is so important (most of SQL code is PL/SQL and we have developped a framework that would be time consuming (for same result ?) porting to another db).<br />I no longer try to make generic DB provider, use code generation to generate first raw source code of BAL (enhanced later if necessary) and performances are there.<br /><br />Thanks for sharing those great articles; very interesting to see people focusing on the most important (efficiency) not coding for coding (defining tenth of empty classes doing nothing only for the beauty of the art). Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-89417820661640616432012-05-15T12:21:57.105-06:002012-05-15T12:21:57.105-06:00Ouch. What databases were you changing between?Ouch. What databases were you changing between?Rudy Lacovarahttps://www.blogger.com/profile/04468668726156606923noreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-64626320225313830122012-05-08T09:52:21.168-06:002012-05-08T09:52:21.168-06:00"After doing this for 14 years or so, I’ve ne..."After doing this for 14 years or so, I’ve never, ever, run into a single project where they’ve decided “hey, let’s trash the years of investment we’ve made in SQL Server and switch over to MySQL, or any other database."<br /><br />You are lucky. In 7 years of my experiences I had to change database for many projects.Anonymoushttps://www.blogger.com/profile/09445367133621821920noreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-24604305187109524522011-06-18T01:17:53.569-06:002011-06-18T01:17:53.569-06:00Hey, thanks so much for posting this article.
Plea...Hey, thanks so much for posting this article.<br />Please check out my blog for ADO.NET Interview Questions and Answers<br /><br /><a href="http://www.aired.in/2011/01/adonet-interview-questions-answers_11.html" rel="nofollow">ADO.NET Interview Questions and Answers</a><br /><br />Thanks <br />JoyaJoyahttp://www.aired.innoreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-72551571100711296372010-05-14T06:28:52.104-06:002010-05-14T06:28:52.104-06:00I also am an author of a ORM framework which works...I also am an author of a ORM framework which works quite similarly as this one and frankly, I came to the same conclusion on my own - I needed to stop putting separation where is no separation needed. <br /><br />Now I implemented an architecture in which simply the BAL gets the name of a stored procedure or SQL to execute and invokes a method to execute it, returning generic List. Parameters are bound through Reflection, and stored procedures are examined for their parameters and then cached! Perfect for Agile Projects. <br /><br />In general I would just recommend that you guys use more Generics and Inheritance in C# and you would not need to duplicate the code. My <a href="http://seesharpgears.blogspot.com/search/label/CsharpGears%20Framework" rel="nofollow">ORM framework</a> leverages that and basically parameter projection happens and in the DAL and the BAL only names the procedure. Sort of like : You name it, I do it - thing. It comes down to only writing a stored procedure name and absolutely no code duplication. Soon I will write a post about the architecture that utilizes the frameworkSeeSharpWriterhttps://www.blogger.com/profile/02098977942838434483noreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-68654174743822177722010-05-11T17:37:00.539-06:002010-05-11T17:37:00.539-06:00I read you first articles on DTOs and liked and ag...I read you first articles on DTOs and liked and agreed with the concept.<br /><br />I, too have spent many hours trying to find a reasonably simple, yet flexible method for serving application layers with lightweight data (DTOs) from a back-end platform that is not overly convoluted for the sake of some pie-in-the sky design principle. I've tried nHibernate and have considered third party ORMs like LLBLGen (sounds decent, but I don't want to pay for them and the commitment to upgrades). Then there's the ever-evolving and changing Microsoft best practices and technologies that take more and more study, and which appear to be so heavy and complex that I can't imagine them to result in a realistically maintainable and speedy application.<br /><br />I agree with your arguments on the new concept - why do you need a DAL when the database platform is highly unlikely to change and the BLL ends up having to duplicate just about all the same methods for the sake of pass-through to a DAL. I look forward to reading on.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-38227547096874638522010-04-16T09:31:56.609-06:002010-04-16T09:31:56.609-06:00ive been struggling with having this secondary que...ive been struggling with having this secondary query language in the "business layer". seems hypocritical sometimes..why not skip the abstraction and query directly with sql? its much more flexible and you're right... ive never ever ever switched the database vendor. ever. this article is a breath of fresh air.codynoreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-64241321851467305002010-02-01T09:48:01.430-07:002010-02-01T09:48:01.430-07:00Think this could be used this on Compact Framework...Think this could be used this on Compact Framework without having to rewrite it entirely?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-68023330395310814302010-01-27T08:39:06.823-07:002010-01-27T08:39:06.823-07:00Yeah, BAL is a bad term. It doesn't really mea...Yeah, BAL is a bad term. It doesn't really mean anything it just sounds like DAL and is easier to day than BLL. If I had to pick, I would say it means business access layer. I think I'm going to start using the name Core instead.Rudy Lacovarahttps://www.blogger.com/profile/15639782534216467791noreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-87776328490992761842010-01-25T20:11:52.618-07:002010-01-25T20:11:52.618-07:00Just wanna ask... BAL stand for what?Just wanna ask... BAL stand for what?...noreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-49348666944946054032010-01-25T10:50:55.193-07:002010-01-25T10:50:55.193-07:00I am going to publish the code up on either codepl...I am going to publish the code up on either codeplex or github. I just need to pull the framework out of my existing app. Re RIA Services and ADO.Net Data Services, I haven't used them yet so I don't have much to add there.Rudy Lacovarahttps://www.blogger.com/profile/15639782534216467791noreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-67279109243094172782010-01-23T16:56:23.082-07:002010-01-23T16:56:23.082-07:00Very interesting blog. I am looking forward for yo...Very interesting blog. I am looking forward for your next posts. <br />Could you show how your persistence layer can be merged with latest technologies like RIA Services – ADO.NET Data Services and WCF.Anonymoushttps://www.blogger.com/profile/06972941389169531954noreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-78546522484617724102010-01-14T06:36:49.755-07:002010-01-14T06:36:49.755-07:00"We need to hide TSQL from programmers, it sc..."We need to hide TSQL from programmers, it scares them." - Super!! )))Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-2629608947246129428.post-86652171051779141552010-01-11T20:51:04.849-07:002010-01-11T20:51:04.849-07:00Rudy,
Can you share the sample code that you have ...Rudy,<br />Can you share the sample code that you have highlighted above.<br /><br />RaviAnonymousnoreply@blogger.com