<?xml version="1.0" encoding="UTF-8"?>
<response>
  <status>success</status>
  <result>
    <project>
      <id>135270</id>
      <name>simpledal</name>
      <created_at>2009-01-08T03:23:15Z</created_at>
      <updated_at>2009-05-10T02:53:56Z</updated_at>
      <description>QuickDALSimpleDAL is a colection of interfaces, generic (template) classes for easy access to data stored databases, files, etc. 

Every time I have to design and implement any desktop and web application, I have to implements a short of classes for database operations. This is well known as Data Access Layer (DAL). Because of this, the goal of simpleDAL is to facilitate generation of entity DB classes. The programmer will need define its classes, inheriting from simpleDAL specialization template class, only specifying the database table fields and then, the SimpleDAL framework will provide the rest of functions for reading and writing data from/to databases. 

BackgroundMy initial goal was divide into separate and independant layers the entire database access, like logic fields, data collection and database read/write, but, at the moment, I was not able to separate, because data and IO layers always go together. Data can be responsible for host data object and IO can be responsible for create sql sentences and read/write from/to database, but then , IO must know how to access to data object, a responsibility of data layer. 

StructureBecause of I propose a schema where we have four layers for programmer: 

Interface layerThree main interfaces defining basic access, data management and input/output. 

Template (generic) base layerWhich implements basic and commond methods with abstract (mustinherit) class. 

Specialization but yet template class layerConcrete data object and input/output. For example, EntitySQL which implements data object with Data.DataTable and IO throw SQL Server with sql sentences. 

Programmer layerConcrete classes defined by the programmer that inherits from one specialization template class. 

Then next image may help: (coming soon)</description>
      <homepage_url>http://code.google.com/p/simpledal</homepage_url>
      <download_url></download_url>
      <url_name>simpledal</url_name>
      <user_count>0</user_count>
      <average_rating></average_rating>
      <rating_count>0</rating_count>
      <analysis_id>552507</analysis_id>
      <analysis>
        <id>552507</id>
        <project_id>135270</project_id>
        <updated_at>2009-05-16T16:03:27Z</updated_at>
        <logged_at>2009-05-16T16:03:20Z</logged_at>
        <min_month>2008-12-01T00:00:00Z</min_month>
        <max_month>2009-02-01T00:00:00Z</max_month>
        <twelve_month_contributor_count>1</twelve_month_contributor_count>
        <total_code_lines>1411</total_code_lines>
        <main_language_id>15</main_language_id>
        <main_language_name>Visual Basic</main_language_name>
      </analysis>
      <licenses>
        <license>
          <name>lgpl</name>
          <nice_name>GNU Lesser General Public License 2.1</nice_name>
        </license>
      </licenses>
    </project>
  </result>
</response>
