Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are there any negative reasons to use an N-Tier solution? [closed]

I'm pretty new to my company (2 weeks) and we're starting a new platform for our system using .NET 3.5 Team Foundation from DotNetNuke. Our "architect" is suggesting we use one class project. Of course, I chime back with a "3-tier" architecture (Business, Data, Web class projects).

Is there any disadvantages to using this architecture? Pro's would be separation of code from data, keeping class objects away from your code, etc.

like image 881
Brian Childress Avatar asked Aug 08 '08 13:08

Brian Childress


People also ask

What is the disadvantage of an N-Tier architecture network?

Below are some disadvantages of N-tier architecture: Increased complexity of the system as a whole. Increased network latency as the number of tiers increases. Expensive as every tier will have its own hardware cost.

What specific problems do you think the N tiered system architecture solves?

N-Tier architecture is an industry-proved software architecture model, suitable to support enterprise-level client/server applications by resolving issues like scalability, security, fault tolerance and etc. .

What are the main advantages claimed for an N-Tier architecture?

What are the Benefits of N-Tier Architecture? There are several benefits to using n-tier architecture for your software. These are scalability, ease of management, flexibility, and security. Secure: You can secure each of the three tiers separately using different methods.

What is the disadvantage of the 3-tier architecture model?

It is more complex than the 2-tier client-server computing model, because it is more difficult to build a 3-tier application compared to a 2-tier application. The points of communication are doubled. The client does not maintain a persistent database connection. A separate proxy server may be required.

What is n-tier architecture also explain why there is a need to follow n-tier architecture?

An N-tier architecture divides an application into logical layers and physical tiers. Layers are a way to separate responsibilities and manage dependencies. Each layer has a specific responsibility. A higher layer can use services in a lower layer, but not the other way around.


1 Answers

I guess a fairly big downside is that the extra volume of code that you have to write, manage and maintain for a small project may just be overkill.

It's all down to what's appropriate for the size of the project, the expected life of the final project and the budget! Sometimes, whilst doing things 'properly' is appealing, doing something a little more 'lightweight' can be the right commercial decision!

like image 164
Chris Roberts Avatar answered Oct 11 '22 04:10

Chris Roberts