Meu artigo anterior “ História de TI. Quando os computadores eram grandes ... ”terminamos no final dos anos 1980, quando dois eventos significativos aconteceram. Primeiro, havia OOP e a linguagem de objeto C ++ . Em segundo lugar, surgiram os computadores pessoais , o que mudou fundamentalmente as tarefas do desenvolvimento de TI.
E a questão aqui não é que se tornou possível manter computadores em casa e realizar tarefas de trabalho neles: editar textos, fazer cálculos, criar desenhos. O software para isso não difere fundamentalmente daquele para grandes computadores - eles sabiam como desenvolvê-lo. A única questão era na otimização e adaptação para recursos limitados.
A principal mudança é que os computadores pessoais tornaram os computadores disponíveis para pequenas empresas. Foram necessários sistemas de automação de processos de negócios, que são muito diferentes em diferentes empresas. É difícil fazer um sistema típico: agora tais sistemas já existem, por exemplo, 1C, mas naquela época eles não existiam. OOP ajudou a resolver este problema. Essa parte da história do desenvolvimento da TI e dos conceitos que então surgiram e ainda são usados, contarei neste artigo.
O surgimento de OOP
, - - () .
. , 1960-. , : (1960), 1967 , , 1972 Smalltalk. , : , , Smaltalk , .
? . , . , , . (2010-) : Erlang, . Smaltalk . ++, , , .
, , . , . , 1979-1986 C++. , Objective-C (1982), , Eiffel (1985) design by contract, .
, , , , , , . , . , , , . , « », ++ .
: , , . , , . IT- , , - .
« » . , , , . , . , . -, – , , , . , , , . , – , C, «» .
, , 1976 « + = » . 1980- ++, , .
, , . ++ , , , - . , , , ++, , , . , , .
…
, C++ . — . , , .
, , . – SOLID. . SOLID , , . , -, , , - , . - , , - , . .
? , , .
, – . , , . , , , , , .
– , . , if , else if . switch, , default . , , , , junior- . – , .
: -
, - . . – , . , , .
-. 1990- . - . - , - : Object-oriented programming Object-oriented analysis and design.
UML (Unified Modelling Language), , , . . , , , . , :
– ?
– .
1990- Rational Software – , , . .
UML. , , – Object Management Group (OMG), .
. 1997 UML Distilled, UML , , .
UML : , . , . , , -, (1960-) ( ) ER-, .
-
. - , , . .
, , , . 90-95% – « ».
100 , 5-10 . 10000 , 500-1000, . 50 , . , , , -. - . . , SAP, , .
, , , . know-how, , . know-how , , . 1C , , , -, , -. – , . .
, 90- – . , . , , . – 64 , , : , , . , , 128 .
-
- , , -, . , , , , .
UML, , , . -, , , .
, - . – .
, . , . , -, UML . , , - .
. , , , , . , , – , – , . , , – . , – - , - , – . , . , , , , UML.
: ?
, . -, , . , 90-, - - , , , , . , , .
, , , -. , , , , , , , . . , – , , , . .
, . . - , , , , .
, , . , , .
, – . , , , . – . , .
, , , , , , , C++ . IT, , – - .
, , , IT, . , IT.
, , , , , , . , " ", "", " " .
— , ( ), , , .
, , , , — " " " " , - . , , , " ", "".
, SAP 1C, , , , . . – , 90-, , - .
« », . , , . , , , .
«Patterns of Enterprise Application Architecture» ( – ), . , – . , Record Set Transaction Script.
, , . , , , , . , , .
, , , , . , . .
? . 2010-, public web, NoSQL , . . , , PostgreSQL NoSQL , NoSQL , SQL-. , , .
, , , , , – . – ORM, Object Relational Mapper. 90- . , , , . -, , , . .
C# 2008 , . .
, , . , , . , , . , , , – , , . , , , .
, , : , , .
: ORM
, . 2000- . , - . - , , .
web-, enterprise- – , , , , web, -. .Net, , Delhi Java- .
, Oracle, PL/SQL . . , , . Oracle, , . PL/SQL, , . .
. . : , . : , linq, .
2003 , -. . , , , , .
Domain Driven Design
Domain Driven Design (DDD), . 2003, 2010 «- ». 2006 « DDD », , 2007. , , , DDD .
? -, . , , , , . : -, , -, . , (Ubiquitous Language), . , .
, , - , , , . , -, .
, , , , . , , . , , , . , inhouse-, , Agile- . , , . Agile , , . .
DDD . , , . : , - , , . , , , , , , .
, , .
.

, , DDD . . -, -, SAP, 1 - , DDD. , . . , -, , , , . , , . , , , , .

, , – (bounded context). , . , , , (context map).
, , . , — , , . . , «» , , . , , .

, , « ». , . DDD « - », . WIAD-2019 « — ».
DDD , , . 2011 AgileDays « — Agile-» Application Developers Days « . CUSTIS».
, , , . Rich Object , . , , . . DDD- , .
, . , , . - , DDD Rich Object. , , - , . , , . « », «DDD: » Software People-2013, .
Domain Driven Design , . WIAD-2020 «Domain-driven design: ». . , .
. IT public web, -, enterprise-. , .
, . . Java Script. , , . – .