Обектен модел
Обектно-ориентираната технология се основава на т.нар обектен модел. Основните принципи на неговото изграждане са: абстракция, капсулиране, модулност, йерархия, типизиране, паралелизъм и постоянство. Всеки от тези принципи не е нов сам по себе си, но в обектния модел те се прилагат заедно за първи път.
Обектно-ориентираният анализ и дизайн са коренно различни от традиционните подходи към структурирания дизайн: тук трябва да си представите процеса на разлагане по различен начин, а архитектурата на получения софтуерен продукт надхвърля традиционните концепции за структурирано програмиране. Разликите се дължат на факта, че структурираният дизайн се основава на структурирано програмиране, докато обектно-ориентираният дизайн се основава на обектно-ориентираната методология на програмиране.
Основни разпоредби на обектния модел
Техниките за структурно проектиране помагат да се опрости развитието на сложни системи, като се използват алгоритми като готови градивни елементи. По същия начин обектно-ориентираните техники за проектиране са предназначени да помогнат на разработчиците да прилагат мощните изразителни средства на обектно-ориентираното и обектно-ориентираното програмиране, които използват класове и обекти като блокове.
Обектно-ориентиран анализ.(обектно-ориентиран анализ, ООА) има за цел да създаде модели на реалност, базирани на обектно-ориентиран светоглед.
Обектно-ориентиран анализ - това е методология, при която системните изисквания се възприемат от гледна точка на класове и обекти, идентифицирани в предметната област.
Обектно ориентиран дизайн. (обектно-ориентиран дизайн, ООД)
Програмирането на първо място предполага правилното и ефективно използване на механизмите на конкретни езици за програмиране. За разлика от тях, дизайнът се фокусира върху правилното и ефективно структуриране на сложни системи. Ние дефинираме обектно-ориентиран дизайн, както следва:
Обектно ориентиран дизайн - това е методология за проектиране, която съчетава процеса на декомпозиция на обекти и техники за представяне на логически и физически, както и статични и динамични модели на проектираната система.
В това определение има две важни части: Обектно-ориентиран дизайн
1) се основава на обектно-ориентирано разлагане;
2) използва разнообразни техники за представяне на модели, които отразяват логическата (класове и обекти) и физическата (модули и процеси) структура на системата, както и нейните статични и динамични аспекти.
Именно обектно-ориентираното декомпозиране отличава обектно-ориентирания дизайн от структурния дизайн, в първия случай логическата структура на системата се отразява чрез абстракции под формата на класове и обекти, във втория - чрез алгоритми.
Обектно ориентирано програмиране.(обектно-ориентирано програмиране, ООП)
Обектно ориентирано програмиране - това е методология за програмиране, основана на представянето на програма като колекция от обекти, всеки от които е екземпляр на определен клас и класовете образуват йерархия на наследяване.
Това определение може да бъде разделено на три части:
1) OOP използва като основни елементи обекти,не алгоритми;
2) всеки обект е копиевсякакви конкретниклас;
3) организират се класове йерархично.
Програмата ще бъде обектно-ориентирана само ако и трите от тези изисквания са изпълнени. По-специално програмирането, което не се основава на йерархични връзки, не е ООП, а се извиква програмиране, базирано на абстрактни типове данни.
Има пет основни типа стилове на програмиране, които са изброени по-долу, заедно с присъщите им видове абстракции:
класове и обекти
цели, често изразени чрез изчисление на предикати
• ориентирани към правилата
• ориентирани към ограничения
Невъзможно е да се признае какъвто и да е стил на програмиране като най-добрия във всички области на практическото приложение. Например, ориентиран към правилата стил е по-подходящ за проектиране на бази от знания и процедурно ориентиран стил за изчислителни проблеми. Въз основа на нашия опит, обектно-ориентираният стил е най-подходящ за най-широк спектър от приложения; всъщност тази парадигма често служи като архитектурна основа, върху която се основават други парадигми.