473,396 Members | 1,914 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

3 tier design AND data binding?

I am new to dot net and would like to write an application using a
solid 3 tier design because I expect the app to require a lot of
updates and maintenance over time.

I am creating my own data objects to interact with the database but the
more I understand the DataAdapter classes, the more confused I get. It
seems that all I really need my data access classes to do is return a
dataset, then accept it back again for updating the database, but this
functionality already exists.

It seems that writing my own individual data access classes is really
unnecessary. In fact, when taking into account the ease of using
visual studio form designer to drag data classes onto my forms, I am
starting to reconsider my design. Since I am using stored procedures,
these are starting to look like a legitimate data tier in their own
right as they are encapsulating the underlying database tables and
preventing direct access.

I can't be the only person struggling through these design decisions.
What is the best solution? My goals are quick development AND
maintainability. The application will be used by a small number of
users - under 20, but I'd like it scalable anyway as this could change.

Is encapsulating the native data classes in my own class even
necessary?

Thanks in advance,

D

Nov 21 '05 #1
3 1606
Hi!

Just a couple of reason for a dedicated data tier:

* can be easier to re-use functionality, eg a data tier object fetching an
address can be used in multiple places where an address is needed
* enable support for different databases by "just" swapping the data tier.
* If you get data from other sources than the database and want a common way
of accessing data, regardless of its storage.

But I agree, in a small application, it can feel a bit overambitious with a
full scale three-tier solution.

Brgds

Jonas

<zc****@hotmail.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
I am new to dot net and would like to write an application using a
solid 3 tier design because I expect the app to require a lot of
updates and maintenance over time.

I am creating my own data objects to interact with the database but the
more I understand the DataAdapter classes, the more confused I get. It
seems that all I really need my data access classes to do is return a
dataset, then accept it back again for updating the database, but this
functionality already exists.

It seems that writing my own individual data access classes is really
unnecessary. In fact, when taking into account the ease of using
visual studio form designer to drag data classes onto my forms, I am
starting to reconsider my design. Since I am using stored procedures,
these are starting to look like a legitimate data tier in their own
right as they are encapsulating the underlying database tables and
preventing direct access.

I can't be the only person struggling through these design decisions.
What is the best solution? My goals are quick development AND
maintainability. The application will be used by a small number of
users - under 20, but I'd like it scalable anyway as this could change.

Is encapsulating the native data classes in my own class even
necessary?

Thanks in advance,

D

Nov 21 '05 #2
Can you be more specific as to how this data tier should work? That is
my confusion. If it exposes a DataSet, then do I allow the user to
manipulate (add/edit/delete) with this dataset, then call a method on
the data tier class to perform the database updates? Do I use a
DataAdapter class at all (within my data tier class) or is this
unnecessary?

I think the subtleties are where I am confused. Anyone have an example
of a data tier class that can properly interact with a GUI? If it
takes a little longer to do it right that is fine with me, my app does
not have too many data objects necessary anyway.

Thank you,

D

Nov 21 '05 #3
Can you be more specific as to how this data tier should work? That is
my confusion. If it exposes a DataSet, then do I allow the user to
manipulate (add/edit/delete) with this dataset, then call a method on
the data tier class to perform the database updates? Do I use a
DataAdapter class at all (within my data tier class) or is this
unnecessary?

I think the subtleties are where I am confused. Anyone have an example
of a data tier class that can properly interact with a GUI? If it
takes a little longer to do it right that is fine with me, my app does
not have too many data objects necessary anyway.

Thank you,

D

Nov 21 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

77
by: nospam | last post by:
Reasons for a 3-tier achitecture for the WEB? (NOTE: I said, WEB, NOT WINDOWS. DON'T shoot your mouth off if you don't understand the difference.) I hear only one reason and that's to switch a...
16
by: D Witherspoon | last post by:
I am developing a Windows Forms application in VB.NET that will use .NET remoting to access the data tier classes. A very simple way I have come up with is by creating typed (.xsd) datasets. For...
3
by: gabe | last post by:
I have a general design question. What's a 'Best Practice' for middle tier component design? I'm thinking of a web form that contains data from multiple tables. The data is supplied from one...
1
by: Anders S. Willumsen | last post by:
Hi, I'm implementing a 3-tier app (a shop) for the first time, and would like to have some of you guys comment on the design. Hope you can help me get rid of some confusion. I have a...
4
by: nixon | last post by:
Hi there! Im trying to build a 3 tier application that uses a smartclient in the "view" layer. The communication between the smartclient and the server should be webservices because of potentiel...
3
by: alan.chambers | last post by:
I am new to C++/CLI. I want to do a very simple thing. In other C++ applications, my forms have always been 'context free' in the sense that I pass them a temporary copy of the data for them to...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.