473,396 Members | 2,002 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.

Multi Developer Guidelines/Best Practices

Our shop has 6 .Net developers, most of our work to date has been one
developer on a project at a time, occasionally 2 for brief periods of
time. We have souce control (SourceGear) and love what it does for us.
We have a mixture of C# and Vb code (some prefer one versus the other,
all of us feel comfortable looking over either when needed), but we are
leaning more toward C# as time goes on. We have a mixture of Web
applications and Windows applications. Our Windows applications tend
to be larger scale. In Windows applications, we separate business
logic from the forms in separate class libraries.

Now we are tackling a larger project (Windows application) where we
want to have 4 or 5 of us working together. Our thoughts are to have 3
assemblies:
Main Project - will contain Main, instance forms that inherit base
functionality from base forms, common functionality classes like
messaging, error handling, etc.
Base Forms - will contain the base forms
Business Classes - will contain the business logic class libraries

One developer will be responsible for business classes (less
experienced in .Net but very familiar with the business logic for the
applicaiton), one developer (less experienced) will be responsible for
the instance forms, and 2 of us (seasoned .Net developers) will be
responsible for base forms and common functionality. The 5th developer
is also seasoned and will be helping the 2 less experienced developers
and acting as a backup in all areas.

We like the idea of seperating the tasks into 3 projects, but there is
some concern that we will have circular references (project A
references B and B later references A). We aren't locked into the
design yet, but need to very soon. Any thoughts on how best to
organize the various parts of the application?

Nov 8 '06 #1
1 1162
In order to circumvent the "circular ref" problem, you need to create a
project that contains Interfaces. Your ""Business Object" and "Data
AccessLayer" project can ref the Interface project. When you pass in
"objects" to the DAL for processing, you can cast them as the Interface for
the given BO.

Most system I build use a set of dedicated BO, DAL & BE projects. The BE
stands for Business Entity and that project holds the interfaces for the
BOs.

Be sure to create a separate project for GlobalItems and be sure to set the
serialization attribute on all your BOs and BEs. Also, be sure to make
decisions early on the use of ".NET remoting v.s. "Serviced Components"

-Michael Bowman
Team Vertical Works
www.verticalworks.com
"Will" <bk******@hotmail.comwrote in message
news:11**********************@m7g2000cwm.googlegro ups.com...
Our shop has 6 .Net developers, most of our work to date has been one
developer on a project at a time, occasionally 2 for brief periods of
time. We have souce control (SourceGear) and love what it does for us.
We have a mixture of C# and Vb code (some prefer one versus the other,
all of us feel comfortable looking over either when needed), but we are
leaning more toward C# as time goes on. We have a mixture of Web
applications and Windows applications. Our Windows applications tend
to be larger scale. In Windows applications, we separate business
logic from the forms in separate class libraries.

Now we are tackling a larger project (Windows application) where we
want to have 4 or 5 of us working together. Our thoughts are to have 3
assemblies:
Main Project - will contain Main, instance forms that inherit base
functionality from base forms, common functionality classes like
messaging, error handling, etc.
Base Forms - will contain the base forms
Business Classes - will contain the business logic class libraries

One developer will be responsible for business classes (less
experienced in .Net but very familiar with the business logic for the
applicaiton), one developer (less experienced) will be responsible for
the instance forms, and 2 of us (seasoned .Net developers) will be
responsible for base forms and common functionality. The 5th developer
is also seasoned and will be helping the 2 less experienced developers
and acting as a backup in all areas.

We like the idea of seperating the tasks into 3 projects, but there is
some concern that we will have circular references (project A
references B and B later references A). We aren't locked into the
design yet, but need to very soon. Any thoughts on how best to
organize the various parts of the application?

Nov 9 '06 #2

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

Similar topics

1
by: Todd | last post by:
Does anyone know of a book for C# .NET on coding standards and guidelines? My company is in the process of defining this stuff as we move to C# .NET. I could swear I picked up a book like this...
61
by: Pete Vidler | last post by:
Hi Folks, I'm wondering if there is a compilation of C++ guidelines out there anywhere. Here are some of the ones I've picked up so far (as examples): - Functions should fit on one screen,...
27
by: Stuart Gerchick | last post by:
C++ Coding Standards : 101 Rules, Guidelines, and Best Practices by Herb Sutter, Andrei Alexandrescu is now a month or so away from release. What is people's opinion on this...is it going to be a...
6
by: THY | last post by:
Hi, I am trying to make a website that contact 2 language, I wonder what method should I use and how do I code it, anyone have any idea ? thanks, Tee
6
by: Craig Hunt | last post by:
I've searched high and low for an answer to these questions and have had little success finding an answer, but I just know someone else has experienced the same issues we face today. The...
1
by: maciek | last post by:
Hi, I was wondering if anyone could suggest me a book/article/tutorial on Exception Handling in multi tier Windows Apps. What are the best practices/ways to implement EH in multi tier...
0
by: RSH | last post by:
Hi, I am a somewhat seasoned developer that is looking to really understand the muti tier development model. I'm trying to find a good tutorial that is representative to real world best...
26
by: Laurent Bugnion [MVP] | last post by:
Hi group, In agreement with the head of our R&D department, I published my firm's JavaScript Coding Guidelines. I work for Siemens Building Technologies. We developed these guidelines for a web...
0
by: Sabri.Pllana | last post by:
We apologize if you receive multiple copies of this call for papers. *********************************************************************** 2008 International Workshop on Multi-Core Computing...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
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
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
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...

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.