Главная » Просмотр файлов » Issott_Common Design Patterns for Symbian OS-The Foundations of Smartphone Software_0470516356

Issott_Common Design Patterns for Symbian OS-The Foundations of Smartphone Software_0470516356 (779879), страница 76

Файл №779879 Issott_Common Design Patterns for Symbian OS-The Foundations of Smartphone Software_0470516356 (Symbian Books) 76 страницаIssott_Common Design Patterns for Symbian OS-The Foundations of Smartphone Software_0470516356 (779879) страница 762018-01-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 76)

and Jacobs, M. (2006) The Accredited Symbian DeveloperPrimer. Symbian Press. See developer.symbian.com/books for moreinformation and a sample chapter.Vlissides, J. (1996) ‘To kill a singleton’. C++ Report, June 1996. Availableat www.research.ibm.com/designpatterns/pubs/ph-jun96.txt.Vlissides, J., Coplien, J.O., Kerth, N.L. (eds) (1996) Pattern Languages ofProgram Design 2. Addison-Wesley.Weir, C. (1998) ‘Code that tests itself: Using conditions and invariants to debug your code’. C++ Report, March 1998. Available atwww.charlesweir.com/papers/selftest.pdf.Weir, C. and Noble, J.

(2000) Small Memory Software. Addison-WesleyProfessional.Wilden, L.H. et al. (2003) OggPlay. Available at symbianoggplay.sourceforge.net.Willee, H. (Nov 2007) ‘Support for Writeable Static Data in DLLs’.Available at developer.symbian.com/main/downloads/papers/staticdata/SupportForWriteableStaticDataInDLLsv2.2.pdf.Willee, H. (Dec 2007) ‘Symbian OS Notification Services’. Available at developer.symbian.com/main/downloads/papers/Notifiers/Symbian OS Notification Services.pdf.IndexWith thanks to Terry Halliday for creating this index.A-GPS 61ABI 43abstraction benefits,software design 18,32–4, 94–103,334–45, 385–95actions, services 165–232active objects 30, 89, 151Active Objects pattern133–47see also event . .

. ;RunL()cancellations 138,169–70Client–Server pattern 146,147, 182–210debugging 142–3, 148Event Mixin pattern 146long-running activeobjects 161, 162,188–9, 306, 328–9other patterns and 38, 79,89, 96, 102, 103,105, 111, 112, 113,122, 128, 149, 151,157, 169, 182–210,292, 296–7, 306,308panics 30, 140, 159–61,354–5self-completing activeobjects 162, 329servers 146single use pattern 146stray signals 140, 142–3Window Server 146, 352active scheduler, concepts134–47ActivityComplete()197–210Adapter pattern 331,372–84, 395Add() 135–47AddDeallocCallback()75–8Adopt() 315–29after-market applicationstarter 306Agenda application 344AllFiles 237–8, 240–51ALLOC 31Allocate 55–62, 65–72,76–85allocation/de-allocationdecisions, resourcelifetimes 50–85AOs see active objectsAPIs 19–31, 133–4,178–81, 207,234–85error-handling strategies19–31multiplexing protocol19–20security issues 234–85APPARC 339–45AppDllUid 341–5AppendL() 296–308Application Architecture339–45AppUi 336–45ARM .

. . 397–400see also CPUarrays 15, 30, 46–7, 393–4ASSERT 24–31, 33–4,154–5, 224–5, 321,355–71ASSERT ALWAYS 24–31ASSERT COMPILE 24–31ASSERT DEBUG 24–31,159–61, 392–3assertssee also panicscode 23–4408asserts (continued)concepts 20–31, 33–4,154–5, 224–5, 321,355–71, 392–3definition 20–1examples 21execution times 23–7reduced impact 23–4types 20–1Asynchronous Controllerpattern 132, 147,148–63, 188–210,306, 308asynchronous event mixins,Event Mixin pattern102–3asynchronous operations 38,102–3, 105–13, 132,133–47, 148–63,166–70, 183–210see also Active Objectspatternatomicity problems,multithreading 132Attach() 116–29Authenticate() 244–51automatic lazy resourceproxy 83–4AV stream 19–31, 83,311–12, 324–7AVDTP 19–31, 83, 311–12,324–7background activities,Episodes pattern 288,289–308backup server, Publish andSubscribe pattern 127batteriessee also power supplyconstraints 5, 6–7,49–50, 87–92, 213,287–8, 310–11black boxes seeencapsulationBluetooth 19–31, 64, 87–9,261, 269–71,INDEX311–12, 324–7,383–4Bridge pattern 395Buckle pattern 252–9concepts 238–9, 248–9,252–9, 260–1,284–5, 384Cradle pattern 284–5other patterns and 173,181, 206, 238–9,248–9, 260–1, 376,384Quarantine pattern 272bugs 15–47see also defects; error .

. .Bulk Transaction API 208C++ 2, 11, 34–5, 38–9,143, 351–2, 373,379–80, 386C (heap-allocated) classes 2,56–8, 67–70, 77–8,312–29, 389cache usage 208, 287, 329CActive 91, 122–9,135–47, 152–63,169–70, 185–210,229–30, 299–308see also Active ObjectspatternCActiveScheduler135–47, 152–63CActivity 200–10CAF 284CAkn . .

. 340–5Calendar Databases 171–2,176–8, 204camera hardware, Immortalpattern 61–2Cancel() 123–4, 135–47,152–63, 293–308CancelActivity()185–210CancelRequestComplete()168–70CancelServiceRequest() 168–70CancelStateChange()215–32CApaApplication 341–5capabilities 174–9, 206,233–85CAPABILITY 178, 256–8,266–72, 280CApaDocument 341–5CApaSystemControl .

. .261, 268–71Carbide 344case 155–6, 159–61,194–6, 321–2CAsyncCallBack 162,329CAsynchronousController152–63CAsynchronousEpisode293–308category UIDs 116–29CAvdtpInboundSignallingMessage 324–7CBody 387–95CBW packets 161CClient 135–47, 152–63,293–308CClientActive 185–210CCoeAppUi 230–1CCoeControl 337–45CCoeEnv 352–71CCommsDatabase 374,378–83CController 215–32CCoordinator.. 215–32CDataPress 313–29CDialer 143–5CDmDomain 228–9CDmMmsAdapter 381–3CEikApplication 340–5CEikAppUi 38–9, 141–2,340–5CEikDocument 340–5Central Repository 374CEventConsumer 98–102CEventGenerator97–102CHandle 389–95INDEXCheshire Cat Idiom385, 387see also Handle–Bodypatternchild active objects 209CHTTPSession 392–3CIdle 71, 162CImage .

. . 394classessee also C . . . ; M . . . ;R...; T...concepts 2, 11, 13, 21,56–9, 176, 221–2,331, 334–45,346–71, 388–9conventions 13, 94CLazyAllocator()68–70CLazyDeallocator()79–85CleanClosePushL()45–7, 360–71cleanup 42–3, 269–71CleanupStack 139–47,296–308, 383Client–Server pattern182–210Active Objects pattern146, 147, 182–210communication styles205–6concepts 169–70, 179,182–210, 226, 232,247–8, 251, 279–80,282–5, 353, 365–9,371, 380–3extensibility 206other patterns and 26–7,47, 70, 105, 111–13,115, 129, 133–5,146, 147, 169–70,179, 181, 226, 232,247–8, 251, 279–80,282–5, 353, 365–9,371, 380–3performance issues 207–9relative server location204–5request types 205–6security issues 206server lifetime 205server state changes205–6, 214–32Singleton pattern 353,365–9, 371Client-Thread Servicepattern 171–81compiled code 179–80concepts 169, 184, 259,380–3client.exe 173–81clients, services 165–232Close() 44–5, 58–9,122–3CMDBSession 379–83CMmsAccounts 382–3CMmsSettings 381–3CMsvEntry 212CMyActive 135–47CMyAppView 342–5CMyAsyncController153–63CMyDocument 341–5CMyServer 185–210CMyServerSession .

. .185–210CObexServer 101–2CObject 39CObserver 200–10codeasserts 23–4conventions 13, 94impact analysis ofrecurringconsequences400–1RAM 6, 175, 202–3,248–9, 397–401sample downloads 13–14XIP 6, 27, 397–401COggPlay . . . 291–2,303–5cohesive services 166combinedacknowledgementsand re-registration,Coordinator pattern232409CommDB component374–84Comms–Infras seeCommunicationsInfrastructureCommsDat 46–7communication channelsevent-driven chains89–92resource lifetimes 49–85communication styles,Client–Server pattern205–6CommunicationsInfrastructure 34,43–5, 70, 150–1,258–9, 305–6,311–12compiled code,Client-Thread Servicepattern 179–80complete mediation securityprinciple 235CompleteInstallation 248CONE 352, 367–9Connect .

. . 21–2,158–61, 185–210,248constraints on mobiledevices 4–6, 12–13,49–50, 87–92,131–2, 165–6, 171,201–3, 212–13,287–8, 310–11,347–8, 397–401ConstructL() 13, 39–41,56–62, 66–72,81–5, 99–102,123–4, 153–63,192–210, 291–2,295–308, 317–29,355–71, 390constructors 13, 39–41,55–62, 66–72,79–85, 99–102,123–4, 136–47,153–63, 192–210,291–2, 295–308,410constructors (continued)317–29, 341–3,355–71, 386–7, 390Contacts Database 149–50,171–2, 176–8, 204,208, 336–7context switches 143,202–9, 398,399–401ContinueInstallation()248Control Environment339–45Control Panel 268–71ControlEnv 368–9Controller module,Model–View–Controller pattern334–45conventions 13, 94Cookie 206cooperative multitaskingsee also Active ObjectspatternAsynchronous Controllerpattern 132, 147,148–63, 188–210,306, 308concepts 12, 131–63Coordinator pattern 211–32concepts 170, 308multiple processescoordinator 226other patterns and 47,115, 129, 170,211–32, 308save notifications 231single-threadedcoordinator 215,219–25view switching 230–1CPM 64, 70CPolicyServer 279CPUs 4–5, 7–8, 49–50, 59,87–92, 131–2, 302,306, 310, 323, 391,397–401ARM .

. . 397–400INDEXconstraints 4–5, 7–8,49–50, 87–92,131–2, 287–8,310–11, 397–401event-driven chains89–90power-sink components87–92CQik . . . 340–5Cradle pattern 273–85Buckle pattern 284–5concepts 202, 239, 259,264, 272CRawData 313–29Create() 56–62, 262–72,274–85, 337–45,355–71CreateAppUiL() 341–5CreateDocumentL()341–5CreateImplementationsL() 255–6CRequiredAsyncEpisode 296–308CRequiredSyncEpisode296–308CResource 67–70, 78–85CResourceOwner 57–62CResourceProvider67–70, 79–85CResponder . . . 215–32critical sections 132CSaveNotifier() 231CSerializer 293–308CServer2 192–210CSession2 185–210,282–3CSignallingChannel324–7CSink 313–29CSmlDataProvider 283CSmlDataSyncUsage282–3CSmlDmAdapter 380–3CSmlDPSession 282–3CSocketConnector158–61CSource 313–29CStencil 313–29CSW packets 161CSynchronousEpisode293–308CTelephony 134, 143–5CTimer 81–2CTS see Client-ThreadService patterncts.dll 172–81CVersitParser 177–8data caching, Client–Serverpattern 208data cages 183–4, 206,234–85data packets, Data Presspattern 309–29data parsing 309–29Data Press pattern 309–29concepts 288discover command 324–7error-handling strategies327–8long-running processes328–9DBMS 171–2, 179,374–84DCLP 359–71Deallocate() 55–62,65–72, 76–85de-allocation decisions,resource lifetimes50–85DEBUGGER 31debugging, concepts 17–18,20–31, 133, 142–3,148, 157, 249,392–3DECLARE TEST24–31decoupled services,Client–Server pattern202defectssee also error .

. . ; faultsconcepts 15–31, 133costs 17–18, 133, 142–3tracking-down difficulties18INDEXdefense in depth strategy,security issues 233Define() 116–29Delete() 116–29denial-of-service attacks 27,280, 283description template, designpatterns 10–12descriptors 2, 30, 312–13design patternssee also individual patternnamesconcepts 1–14, 397–401definition 3, 10historical background 2–4impact analysis ofrecurringconsequences397–401important considerations3–4Symbian OS 4–14template 10–12uses 3–4, 10, 397–401destructors 55–62, 66–72,78–85, 124, 350–1,369–71development effort, softwaredesigns 8–10,17–31, 233–85,394–5Device Management (DM)284, 380–3Device Provisioning 284device-manufacturerapproved capabilities236–51Digital Rights Management(DRM) 5–6, 20,238–9, 240–51directories, data cages183–4, 206, 234–85discover command, DataPress pattern 324–7disk space, resourcelifetimes 49–85DisplayDialog 248DLLs 100, 135, 143,172–81, 198–210,233–4, 237–8, 241,248–9, 252–9,273–85, 346–71,376–8, 387–8Buckle pattern 252–9Cradle pattern 273–85security issues 233–4,237–8, 241, 248–9,252–9, 273–85writable static data 331,346–71DNS 151, 157–61DoActivity() 185–210DoCancel() 81–2, 123–4,135–47, 152–63,185–210, 301–8document-centricapplications 334–45domain errors 15–16, 21–2,33see also error .

. .DoSomething() 360–3,389–95DoStuff() 57–62DoTask() 293–308Drawing() 337–45DRM files, security issues5–6, 20, 238–9,240–51dynamic configuration,Episodes pattern306–7dynamically selected CTS179, 181e32base.h 13e32def.h 24E32Main 139–47, 192–210e32std.h 38ECom service 179, 253–9,264–5, 274–85,376–8, 381–4, 394economy of mechanismsecurity principle 235EControl . .

Характеристики

Тип файла
PDF-файл
Размер
2,96 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6353
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее