Article View: pl.comp.lang.c
Article #297877[.NET] Udostępnianie funkcjonalności przez interface'y
From: Wojciech Spook Sura
Date: Sat, 06 Aug 2011 16:05
Date: Sat, 06 Aug 2011 16:05
37 lines
2661 bytes
2661 bytes
Hej! Piszę assembly, która będzie udostępniała funkcjonalność przez interface'y (ładowana w czasie wykonania). Mam klasę A, która generuje listę klas B, która z kolei (po potencjalnym przetworzeniu) może być przekazana do klasy C, która te dane przetwarza dalej. A implementuje interface IA, B - IB, dodatkowo dostępny jest interface IBList, zaś C implementuje interface IC. Problem polega na tym, że żeby C funkcjonowała poprawnie, B muszą spełniać odpowiednie warunki. Moja implementacja zapewni, żeby warunki te zostały spełnione, jednak ktoś może z powodzeniem zaimplementować własne klasy implementujące interface'y IB oraz IBList i nakarmić nimi klasę C z assembly - wówczas wymagane warunki (o których użytkownik nawet nie musi wiedzieć) nie zostaną spełnione i klasa C odmówi współpracy. W jaki sposób projektować w takim razie tą assembly? Oczywiście C może - przed przetworzeniem danych - zrobić ich weryfikację, ale weryfikacja jest dosyć kłopotliwa, a poza tym C musi przetworzyć wszystkie dane (których może być bardzo dużo), gdy tymczasem automatyczna weryfikacja wbudowana w moje klasy zrobi to wszystko w locie i przed dalszym przetwarzaniem danych. Najbardziej bezpiecznie byłoby nie ufać użytkownikowi assembly i weryfikować wszystko - nawet, gdy korzysta z moich klas, które weryfikację mają wbudowaną. Jak mogę rozwiązać powyższy problem? Pozdrawiam -- Spook. -- ! ._______. Warning: Lucida Console sig! //) ! ! || spk || www.spook.freshsite.pl / _ """*! ! ||_____|| spook at op.pl / ' | ""! ! | ___ | tlen: spoko_ws gg:1290136 /. __/"\ '! ! |_|[]_|_| May the SOURCE be with you! \/) \ !
Technical Details
Message-ID:
<op.vzsuz3qx8x7o78@notebook.company.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: "Wojciech \"Spook\" Sura" <spook"mad@hatter"op.pl> Newsgroups: pl.comp.lang.c Subject: [.NET] Udostępnianie funkcjonalności przez interface'y Date: Sat, 06 Aug 2011 18:05:53 +0200 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 69 Message-ID: <op.vzsuz3qx8x7o78@notebook.company.com> NNTP-Posting-Host: dynamic-78-8-53-190.ssp.dialog.net.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1312646690 2812 78.8.53.190 (6 Aug 2011 16:04:50 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Sat, 6 Aug 2011 16:04:50 +0000 (UTC) X-User: spoko_ws X-Antivirus: avast! (VPS 110806-0, 2011-08-06), Outbound message X-Antivirus-Status: Clean User-Agent: Opera Mail/11.50 (Win32) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit