Sejarah IT. OOP

Artikel saya sebelumnya “ Sejarah TI. Ketika komputer besar ... ”kami mengakhiri pada akhir 1980-an, ketika dua peristiwa penting terjadi. Pertama, ada OOP dan bahasa objek C ++ . Dan kedua, komputer pribadi muncul , dan ini secara mendasar mengubah tugas yang dihadapi pengembangan TI.



Dan intinya di sini bukanlah bahwa ada kesempatan untuk menyimpan komputer di rumah dan melakukan tugas-tugas pekerjaan pada mereka: mengedit teks, membuat perhitungan, membuat gambar. Perangkat lunak untuk ini pada dasarnya tidak berbeda dari perangkat komputer besar - mereka tahu bagaimana mengembangkannya. Satu-satunya pertanyaan adalah dalam pengoptimalan dan adaptasi untuk sumber daya yang terbatas.



Perubahan utama adalah bahwa komputer pribadi telah membuat komputer tersedia untuk perusahaan kecil. Kami membutuhkan sistem untuk mengotomatiskan proses bisnis, yang sangat berbeda di berbagai perusahaan. Sulit untuk membuat sistem yang khas: sekarang sistem seperti itu sudah ada, misalnya 1C, tetapi pada saat itu belum ada. OOP membantu mengatasi masalah ini. Ini bagian dari sejarah perkembangan IT dan konsep-konsep yang kemudian muncul dan masih digunakan, akan saya ceritakan di artikel ini.



Munculnya 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. , , . – .




All Articles