私の以前の記事「ITの歴史。コンピューターが大きかったとき...」2つの重要なイベントが発生した1980年代後半に終了しました。まず、OOPとC ++オブジェクト言語がありました。そして第二に、パーソナルコンピュータが登場し、これがIT開発が直面するタスクを根本的に変えました。
そして、ここでのポイントは、コンピューターを自宅に置いて、テキストの編集、計算、図面の作成などの作業タスクを実行する機会があるということではありません。このためのソフトウェアは、大規模なコンピューターのソフトウェアと基本的に違いはありません。彼らはそれを開発する方法を知っていました。唯一の問題は、限られたリソースの最適化と適応でした。
主な変更点は、パーソナルコンピュータによってコンピュータが小規模企業で利用できるようになったということです。ビジネスプロセスを自動化するためのシステムが必要でしたが、これは企業によって大きく異なります。典型的なシステムを作ることは困難です。現在、そのようなシステム、たとえば1Cはすでに存在していますが、当時は存在していませんでした。OOPはこの問題の解決に役立ちました。IT開発の歴史のこの部分と、その後登場して現在も使用されている概念については、この記事で説明します。
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. , , . – .