Professional Documents
Culture Documents
https://www.researchgate.net/publication/303858131
CITATIONS
READS
9,610
1 author:
Siniša Vlajić
SEE PROFILE
All content following this page was uploaded by Siniša Vlajić on 10 October 2020.
УНИВЕРЗИТЕТ У БЕОГРАДУ
СОФТВЕРСКИ ПАТЕРНИ
Аутор:
Београд - 2014.
X Y’
XX+Y
— = ———
Y Y’
Аутор
Наслов
СОФТВЕРСКИ ПАТЕРНИ
Прво издање
Издавач
“ЗЛАТНИ ПРЕСЕК”
Главни уредник
Сузана Влајић
Рецензент
у Торонту
Припрема и дизајн
Аутор
Коректура
Аутор
Напомена: Електронска верзија књиге Софтверски патерни је бесплатна. Уколико сте у могућности
http://tirsova.rs/lat/donacije-na-racun/
Copyright © Агенција „Златни пресек“
004.424.6(075.8)
инжењерство)
144-145.
ISBN 978-86-86887-30-6
COBISS.SR-ID 210069260
БИБЛИОТЕКА
СОФТВЕРСКО ИНЖЕЊЕРСТВО
УРЕДНИК
СИНИША ВЛАЈИЋ
ЗЛАТНИ ПРЕСЕК
X Y’
Y
XX+Y
— = ———
Y Y’
Предговор
У књизи Софтверски патерни аутор је на веома инспиративан начин објаснио кључне концепте
који
су потребни како би се патерни пројектовања у целини схватили. На почетку књиге аутор даје
кратку историју настанка софтверских патерна, са нагласком на особе које су поставиле темеље
развоја патерна, као једне од веома битних дисциплина у софтверском инжењерству. Дат је
преглед
основних дефиниција патерна и њихова класификација. У наставку аутор објашњава шта треба
урадити како би пројектовани софтверски систем био применљив као решење скупа сличних
проблема који покривају неку класу проблема. Размишљање аутора o патернима као механизму
који
држи “хаос” и “ред” у непрекидној равнотежи, указује на веома битно својство патерна које се
може
се бави од 2000. године, када је почео да ради докторску дисертацију, коју је одбранио 2003.
године.
.Аутор је у књизи навео најважније формализме (језике патерна) који се данас користе. Полазиште
његовог истраживања су радови Едена и Коплина, који се односе на формализацију патерна. Аутор
критички сагледава суштину постојећих језика патерна пројектовања, сматрајући да они нису дали
прецизну формалну дефиницију патерна пројектовања у општем смислу, како би објаснили како и
када треба користити патерне. Аутор покушава формално, преко симетријских концепата, да
успостави везу између елемената проблема и решења код патерна пројектовања како би
направио
формалну основу за прављење стабилних и одрживих софтверских система, који ће моћи у исто
могу свести на дефиницију до које је дошао: “Патерн је процес који трансформише несиметријску
Током истраживања патерна аутор је указао на кључни механизам или својство GOF патерна
пројектовања, који му је помогао да дефинише општи облик GOF патерна пројектовања. Урађена
је
анализа 23 GOF патерна пројектовања и доказано је да се општи облик GOF патерна пројектовања
може применити за њих 20. Аутор је веома детаљно образложио симетријске концепте и њихову
дао прецизну дефиницију GOF патерна помоћу симетрије. Посебно је интересантно размишљање
аутора о могућој вези између софтверских и физичких система помоћу концепата симетрије.
наслеђивање класа и касно повезивање објекта са методом. Затим је дат један скуп примера
(програма) где се може видети практична примена општег облика GOF патерна пројектовања.
...
У другом делу књиге аутор веома детаљно објашњава сваки од GOF патерна пројектовања. За
сваки
патерн је дат конкректан пример са одговарајућим дијаграмом класа и објектним дијаграмом. Оно
што је посебно интересантно, што омогућава лакше праћење примера, јесте исти домен проблема
који се користи у сваком примеру. Онај ко буде читао ову књигу и ко буде схватио првих неколико
патерна пројектовања, моћи ће веома брзо и лако да схвати и остале патерне пројектовања. Аутор
у
књизи објашњава шта су ECF и MVC патерни кроз неколико примера. Поред тога, аутор објашњава
У последњем делу књиге аутор објашњава различите концепте, као што су фазе прикупљања
принципа пројектовања софтвера и њихову везу са општим обликом GOF патерна. Посебно је
интересантно ауторово виђење неколико мудрих прича из перспективе патерна. На крају књиге
последњих страна аутор, заправо, открива лично филозофско виђење патерна као нечега што у
великој мери превазилази оквире пројектовања софтвера и затвара круг започет на почетку књиге
где говори о патернима као механизму који држи “хаос” и “ред” у равнотежи.
најсложеније техничке уређаје које је човечанство икад остварило. Штавише, умрежењем путем
интернета, ови системи досежу и глобалне размере. С обзиром на далекосежност и значај ових
система, сасвим је разумљиво очекивати да иза софтвера стоји солидна научна основа, која
Нажалост, за разлику од других много зрелијих инжењерских струка, софтверско инжењерство још
увек пати од недостатка чврстих научних темеља, са доказаним и опште прихваћеним теоријским
“патерна” (од енглеске речи “pattern”), који су настали као резултат нагомиланог, у суштини
занатског приступа, развоју софтвера. У питању су нека уопштена техничка решења која
како теоријских тако и методолошких основа, који би служили као водиље у њиховој практичној
У овој књизи нам професор Влајић систематично одговара на ова и слична питања, користећи се
интуитивни осећај о томе шта стоји иза теоријских поставки. Колега Влајић то постиже тиме што
последње је извор креативности која, за узврат, води новим патернима и новој равнотежи. Са те
манифестација неких универзалних решења од којих нека потичу чак из праисторије. На крају,
наспрам прецизне техничке природе већег дела текста, у завршном кратком поглављу, аутор нас,
такође, подсећа да је пројектовање и реализација софтвера у суштини стваралачки чин, који као и
Сасвим је извесно да су нам преко потребни овакви уџбеници, јер софтвер, као једна од кључних
технологија двадесет и првог века, мора врло брзо да превазиђе своју првобитну занатску фазу и
да
се преобрази у праву инжењерску дисциплину. Овом књигом, професор Влајић нам показује један
Садржај
1. Увод 1
2. Основе о патернима 3
2.1 Основне дефиниције патерна 3
4.4 Рефлексија 39
4.5 Generic механизам 41
ПК2 – Builder 48
ПК4 – Prototype 55
ПК5 – Singletone 58
СП1: Adapter 62
СП2: Bridge 66
СП3: Composite 69
СП4: Decorator 75
СП5: Facade 79
СП6: Flyweight 81
СП7: Proxy 85
ПП2: Command 92
ПП3: Interpreter 95
8. Литература 144
СОФТВЕРСКИ ПАТЕРНИ