مقالتي السابقة " تاريخ تكنولوجيا المعلومات. عندما كانت أجهزة الكمبيوتر كبيرة ... "انتهى بنا الأمر في أواخر الثمانينيات ، عندما وقع حدثان مهمان. أولاً ، كان هناك OOP ولغة الكائن C ++ . وثانيًا ، ظهرت أجهزة الكمبيوتر الشخصية ، مما أدى إلى تغيير جذري في المهام التي تواجه تطوير تكنولوجيا المعلومات.
والمقصود هنا ليس أنه أصبح من الممكن الاحتفاظ بأجهزة الكمبيوتر في المنزل وأداء مهام العمل عليها: تحرير النصوص وإجراء الحسابات وإنشاء الرسومات. لا تختلف البرامج الخاصة بهذا الأمر اختلافًا جوهريًا عن البرامج الخاصة بأجهزة الكمبيوتر الكبيرة - فقد عرفوا كيفية تطويرها. كان السؤال الوحيد في التحسين والتكيف مع الموارد المحدودة.
التغيير الرئيسي هو أن أجهزة الكمبيوتر الشخصية جعلت أجهزة الكمبيوتر متاحة للشركات الصغيرة. احتجنا إلى أنظمة لأتمتة العمليات التجارية ، وهي أنظمة مختلفة تمامًا في الشركات المختلفة. من الصعب إنشاء نظام نموذجي: الآن مثل هذه الأنظمة موجودة بالفعل ، على سبيل المثال ، 1C ، لكنها لم تكن موجودة في ذلك الوقت. ساعد OOP في حل هذه المشكلة. هذا الجزء من تاريخ تطور تكنولوجيا المعلومات والمفاهيم التي ظهرت وما زالت مستخدمة ، سأقول في هذا المقال.
ظهور 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. , , . – .