Making decisions about the architecture of your project; What is your decision making process?

Many of us, who designed and developed systems from scratch, were in situations where you had to make tough decisions about the architecture of the project. Where would you, or would you, draw a line when taking the "next step" in building an architecturally sound and scalable system?

I built a large-scale website that was pretty compensated in terms of architecture. There was a web layer with an interface, and then a business and data layers that handled the real work. Different levels of logical separation coexisted on the same physical machine. Physical or even just logical separation could exist through the use of the web services tier / tier. For various reasons, it was not implemented that way. Whether the decision was right or wrong is simply a matter of opinion. I was in other situations when a relatively simplified application was designed from my point of view.

What are some factors you consider when designing an architecture for a new project? Do you have a consistent project that you often use, are you n-tier from the very beginning, or do you evaluate how each project comes in?

Having this experience repeatedly, I often wonder how others in the same position justify and make these considerations. I am sure that we all will have different opinions, but I believe that understanding the thought process that underlies opinions will be useful.

+3
source share
7 answers

. , , , , , , .

EDIT:

"" -, , :

    • ? ?
    • - , , Sliverlight?
    • (, , ), ? , ? ? ?
  • -

    • /, -? ( - , . CSLA, Windows, ).
    • -? , ? , Drools?
    • ? ?
    • ? ? -, COM +, XML HTTP, , DB, ,...?
    • ORM / ?
    • ? DBA ? DBA, , . DBA, DBA , (, , ).
    • ? - (Active Directory/LDAP/...)? ?
    • ? " "? ?
+3

, , . , , , .

, : .

, , , .

. , , , , , , , .

KISS .

, ?

. , , , . , ?

n- ?

. , .

,

. .

+2

, , " " ?

.

, ? , , n- , ?

, , , . ; . , , , , .

; , .

:

  • , ? .

  • ? , , . , , , , , .

  • , ?:-) , , , , . , , - .

  • , , , , , ? , .

  • ? , ? , /, , .

  • ? -, ? ( , , .)

+1

, . , .

. , , . :

  • ( )
  • (UI/Data & Business logic), , - .
  • . , , . , .
  • , ,
  • , , .

, , . , .. , , , - , , . , - .

, , Dependency Injection, Nhibernate, NUnit, , 3 .. , (Return on Investment, "bang for your buck" ) , , . /.

+1

, , .

.

:

  • , ... .
  • , ... , , ,

( , , - , , : -)

+1

I use Spring - all of this is built-in.

0
source

First I look at the complexity of the area. If complex and in business, trade or industry, and not in computers or data sciences, by default I set the architecture based on the domain model.

Next, I will consider size, criticality, expectations, and other non-functional requirements.

0
source

Source: https://habr.com/ru/post/1714934/


All Articles