Полезно за вас: Речник | Игри | Новини | Фирми | Рецепти | Обяви
Начало на реферати

Прогрмна архитектура документ-изображение


Информационни технологии | 2009-12-04 | 103 сваляния

32. Прогрмна архитектура документ/ изображение. Основни класове, структуриращи приложението: документен клас, клас на изображение, класове рамнки. Двуслойна архитектура.


В MFC e залегнала концепцията програмата да се създаде с най - малко 2 слоя:

- документен занимаващ се с функционалното обработ. на данните, възстановяване, сериализация, комуникация и др.

Програмна архит. Document/ View

обект прил.

(цикъл на съобщ)


съобщенията се изпомпват към рамка и изглед

обект на прозореца рамка


изглед документен обект


Възможно е едно изображение да сменя множество документи или един документ да има много изображения.

SDI- приложения определена архитектура (класове)

В SDI в дадне момент има един документ и в общия случай едно изображение.

В МDI в даден моментсе работи с няколко документа от различен тип. Всеки документ може да има 1 или повече изображения.

В началото още се указва какво приложение SDI или МDI ще се прави. При двуслойна архитектура се обособяват няколко класове групи:

1)документен клас- обикновено името и класовете включват DOC

2)view class обикновено името и класовете включват view частицата. Класът View е дъщерен на рамката (Frame) и се явява клиентската част на приложението. То трябва да има производен на СView класа и всички извеждания отиват към методите на тези класове.

3) Frame class класове на рамката. Това е най-големия прозорец, в който се разполагат изображението. Някои съобщения могат да се пренасочат за обработка от Frame, а не от View.

4)Application class включва стартова точка на програмата, връзката между Frame/Veiw/Document

5)Document class отговаря за обработка на данни, сериализация, документация. Документния клас притежава специфичните интерфейси за обработка на данните. Има методи за обхойдане на всички обекти създадени от него или за UpdateAllView

View class

Изобразява данните. Комуникира с документа. Всеки View се свързва с документ посредством GetDocument().

CViewCountDoc* pDoc = dynamic_cast(GetDocument());

// Добре е в прил. да има собствена реал. на GetDocument():


ViewCountDoc* CViewCountView::GetDocumet() //връзка между Doc и View

{

CViewCountDoc* pDoc = dynamic_cast(GetDocument());

ASSERT_VALID( pDoc);

Return pDoc;

}


void CMyView::OnDraw(CDC* pDC)

{

CMyDoc* pDoc = GetDocument(); //прави връзка с документа откъдето трябва да се вземе стринга

CString string = pDocGetString();

CRect rect;

GetClientRect(&rect);

pDCDrawText( string, rect,..);

}

Frame също получава и обработва съобсетния. Това е прозорец от най- високо ниво.

Има два Frame:

- MainFrame

- ChildFrame

Main Frame Windows

  • File ..

File ..


File В SDI File X в MDI

Cview CChildFrame

CmainFrame CMainFrame

Прогрмна архитектура документ-изображение

Добави своя коментар:



Тагове от реферата: , , , ,

Изтегли в DOC | PDF | ZIP