Hallo in die Runde,
ich habe gestern und heute mal versucht mit meinem dürftigen
Halbwissen bezüglich n-tier-Architekturen ne funktionierende
Lösung zusammenzubauen. Dabei habe ich mich verschiedenster
Beispiele bedient, und bin momentan etwas verunsichert, ob
das Ergebnis überhaupt was taugt.
Andreas hatte mir unter anderem gestern auch ne kleine Einführung
in dOOdads gegeben, aber für den Einstieg erschien mir das jetzt
schon wieder "zu automatisiert".
Nachfolgend mein aktueller Stand, vielleicht kan der ein oder
andere sich das ja mal anschauen und ein paar Kommentare zu
abgeben.
(0) BEC
---------------------------------------------------------------
namespace XXX.BEC
{
public class Category
{
private Guid id;
private string showId;
private string name;
public Guid Id
{
get { return id; }
set { id = value; }
}
public string ShowId
{
get { return showId; }
set { showId = value; }
}
public string Name
{
get { return name; }
set { name = value; }
}
}
}
(1) DAL
---------------------------------------------------------------
helper.cs
===============================================================
namespace XXX.DAL
{
public class Helper
{
private static Helper instance;
private string connectionString;
private ResourceManager rm;
private Helper()
{
connectionString =
ConfigurationManager.ConnectionStrings["XXX"].ToString();
rm = new ResourceManager(typeof(XXX.DAL.SqlCommands));
}
public static Helper GetInstance()
{
if (instance == null)
instance = new Helper();
return instance;
}
public OleDbConnection GetConnection()
{
return new OleDbConnection(connectionString);
}
public string GetSqlCommand(string commandKey)
{
return rm.GetString(commandKey);
}
}
}
dal.cs
===============================================================
namespace XXX.DAL
{
public class DAL
{
protected OleDbConnection connection;
protected OleDbTransaction transaction;
protected OleDbConnection Connection
{
get { return connection; }
set { connection = value; }
}
protected OleDbTransaction Transaction
{
get { return transaction; }
set { transaction = value; }
}
}
}
DAL_categories.cs (Beispielobjekt)
===============================================================
namespace XXX.DAL
{
public class Categories : DAL
{
public Category GetStartCategory()
{
Helper hlp = Helper.GetInstance();
using (Connection = hlp.GetConnection())
{
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = Connection;
cmd.CommandText =
hlp.GetSqlCommand("Category_GetStartCategory");
Category cat = new Category();
Connection.Open();
using (OleDbDataReader reader = cmd.ExecuteReader())
{
if (reader.Read())
cat.Id = new System.Guid(reader[0].ToString());
else
throw new EXC.CategoryStartCategoryNotFound();
}
return cat;
}
}
}
}
(2) BLL
---------------------------------------------------------------
...
Categories cats = new Categories();
BEC.Category start = cats.GetStartCategory();
return start.Id.ToString();
...
(3) UI
---------------------------------------------------------------
.aspx welches im grunde nur noch die BLL-Objekte instanziert
und deren Methoden aufruft usw.
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net