цитат от...

36 отговора 1431 прегледа
#1

цитат от...

отново тема свързана с MFC и в частност с COM
ето цитат от 3 том на Programming Windows with MFC - Jeff Prosise
"Ако COM е новост за вас, сигурно в момента се чувствате малко потиснати. Не се отчайвайте. Изучаването на COM прилича много на изучаването на програмирането за WIndows. Трябва да се примирите с шест-месечна умствена мъгла, преди всичко да започне да придобива смисъл." край на цитата->викам си леле преди бях прочел за Windows програмирането че изисквало минимум 6 месеца, а сега ме стресират с 6-те месеца за разбиране на COM, не знам дали се заблуйдавам, ама тоя американец май нещо ни подценява, аз ако имам всичкото време на света за 6 месеца(т.е. да се отдам само на това) ще изчета сума ти книги за COM, едва ли няма да ми стане ясно. Поправете ме ако греша или се заблуждавам, щото сега се уча, минах GUI с MFC, и днес видях стресиращата реплика за COM.
Да ви питам - може ли в БГ да се почне работа със знания за MFC, но без COM, OLE, ActiveX, и най-важното без да съм работил досега???
thanx

най-често умните хора са и лоши
Отговор
в отговор на vroom #2

Re: цитат от...

sas sigurnost i 6godini da go cetres sigurno pak nema da go razberes!
to tia deto uj sa go izmislili i t ene go znaiat sigurno!
az licno hic neznam kvo e COM? gledam tuka kolegitr episat nekvi com-serveri, detu uj bili akot DLL ama nesavsem....
t.e. sigurno e nekva poredna glupost-prostotia bez koieto za vsicki ste e po-dobre!

kvo tolkova slojno ima be? edna programa se sastoi ot izpalnim kod i danni! te se zapisvat v edin (ili 2) faila i tova e! moje vaprosnata programa da se nastroiva da raboti po razlicen nacin, zacelta moje v direktoriata v koato e usnata d aima fal sadarjast konfiguracionna informacia!.....

mi tova e!!!!!!!

kakvi sa tia INSTALACII, DEINSTALACII, REGISTRYTA, COM-OVE, .NET-OVE MFC-TA TRALALA, OPALA, HAHAHA, I NEZNAM SI KVO!

osrahte programiraneto znaci! osraha go ot MIKROSOCT i vie deto gi sledvate sliapo!


(tova nebese savsem po temata, ama taia sutrin nesto sma nerven, i nemojeh da propusna slucaia da si izleia casat ot iada tuka :-)

Отговор
в отговор на vroom #3

Re: цитат от...

mi kvo da ti kazha :) zavisi kolko ti e dobre c++-a i obshto vzeto razbiraneto za oo programirane :)))
ne znam moito kolko dobre e bilo, ama v moia sluchai se sluchi tochno taka
absoliutna njakolko mesechna mygla i posle riazko proglezhdane vse edno sa ma udarili s tuhla po glavata


malko otklonenie:
sega samo ne moga da ponesa da pisha compoinenti na vb, uzhas i mizeria. vb-to go priznavam za strashen klient :) kato za component pisan na neshto drugo. njakade chetoh che vb e object aware language, demek che mozhe da izpolzva obekti ama ne i da sluzhi za syzdavaneto im. zasega liubimata kombinacia mi e da si polzvam byrz app na vb ili prosto vbscriptche za testvane na njakoi component

Agent Orange
Отговор
в отговор на vroom #4

Re: цитат от...

Za dobroto navlizane v COM i osuznavaneto mu naistina sa nujni 6 meseca. Moje bi vece si procel tova-onova i si razbral kolko e slojna kartinkata;) Vsustnost, dobre che ima wizard-i, ta ne se nalaga da programirash na koi znae kolko nisko nivo. No e vinagi po-dobre da si zapoznat otvutre s nestata.
S MFC COM ne se uchi! Hvani ATL. Mnogo ste ti e polezno, ako se probvash da si suzdadesh edin COM component ot nulata (bez wizard).
A za rabotata - spored men 60% e veroqtnostta da popadnesh na rabotodatel, koito ste iziskva ot teb nqkakvi COM umeniq.
Uspeh!

Отговор
в отговор на dijkstra #5

Re: цитат от...

opa, da sa izvinia predvaritelno na horata deto ne obichat ezicite deto pochvat s 3tata bukva na lat azbuka.

az pone polzvam vcpp s atl

paskalia ne mi e po syrce

Agent Orange
Отговор
в отговор на CALL-151 #6

Re: цитат от...

evalata pich! az otkoga gi razpraviam tia raboti. osra se profesiata pokrai tia prostotii. sega veche da kajesh che si programist e pochti ravnoznachno na da kajesh che imash shofiorska knijka - vsichki sa "programisti". to po princip nikoi ne znae kvo stava realno u mashinata otkakto m$ osviniha polojenieto ama nishto... vajnoto e "programist" da se pishesh... az mislia che taia profesia zagina predi 10-15 godini - dotogava biaha programistite, sega sa M$-user-i. men veche me e sram kato me pitat kakvo rabotia vikam "s komputri" a ne "programist" che to stana sramna duma... hora na koito im trebvat 256Mb za nekakva programka deto po princip se pishe v 64Kb... pfu!

time... what is time?
Отговор
в отговор на CALL-151 #7

Re: цитат от...

tva si e za druga tema :)
abe njamashe li veche takyv flamewar tuka?
ako njama da pochvame hehe, che da iziasnim vsichko do dupka

Agent Orange
Отговор
в отговор на Kid27O1 #8

Re: цитат от...

hee... mnogo ste pravi !
s edno malko uto4nenie - sigurno imate predvid "windows developer"-ite, ili prosto "developer"-ite - MS suzdade tova poniatie, koeto spored men ne e nishto pove4e ot 4ovek, kojto e nazubril edna duzina API-ta . Razbira se ne e losho da znesh API-ta, no se stiga do paradoksa, kogato edin developer znae do naj-malki podrobnosti kakvo pravi dadena funcia ot MFC-to, no ne e 4uval za dvoi4no dyrvo naprimer.
Vse oshte ima i istinski programisti, koito znajat kakvo stava s mashinata pod tjah. Naprimer da ste 4uvali poniatieto "unix developer" - takova jivotno prosto niama , ima "unix programist". Ne tvurdia nepremenno 4e istinskite programisti pishat samo pod unix, no e fakt 4e za da pishesh pod unix triabva da si istinski programist, a ne "developer"

Отговор
в отговор на heh #9

Re: цитат от...

aide aide :) mnogo digash akciite na razni kylix fenove
tva deto ti go opredeliash kato developer(za razlika ot programista) mozhe da sa poluchi navsiakade

shtom ima i njakakyv tool za palm development na visual basic, smiatai
ne prevryshtaite taia tema vyv flamewar samo sha obezsmislim na choveka pitaneto

Agent Orange
Отговор
в отговор на Kid27O1 #10

Re: цитат от...

Остаряваш...
Въпреки желанията на консерваторите прогресът си върви напред. Ще се опитам на кратко да ти обясня какво е COM и защо е полезен.
Както правилно отбеляза CALL, алгоритми+структури от данни=програми. Няма какво да се спори по въпроса. Сега да проследим еволюцията на програмистката мисъл през годините. Ще разгледаме следния случай - има точка в равнината с координати (x , y), която трябва да се премести с определено отместване. Ще използвам опростено C, надявам се да разбереш.

1. В началото:

main()
{
InitPoint(5, 5)
MovePoint(2, 3)
}

void InitPoint(int init_x, int init_y)
{
x = init_x;
y = init_y;
}


void InitPoMovePoint(int dx, int dy)
{
x = x + dx;
y = y + dy;
}


2. По-късно:

struct Point
{
int x;
int y;
}

main()
{
Point pnt;
InitPoint(pnt, 5, 5);
MovePoint(pnt, 2, 3);
}

void InitPoint(Point pnt, int init_x, int init_y)
{
x = init_x;
y = init_y;
}


void MovePoint(Point pnt, int dx, int dy)
{
pnt.x = pnt.x + dx;
pnt.y = pnt.y + dy;
}


3. До преди известно време:

class Point
{
int x;
int y;

void InitPoint(int init_x, int init_y)
{
x = init_x;
y = init_y;
}

void MovePoint(int dx, int dy)
{
x = x + dx;
y = y + dy;
}
}

main()
{
Point pnt;
pnt.InitPoint(5, 5);
pnt.MovePoint(2, 3);
}


4. Сега:

import изпълним_код_на_програмата_описана_в_точка_3

main()
{
Point pnt;
pnt.InitPoint(5, 5);
pnt.MovePoint(2, 3);
}


Заключение:
ООП дава възможност за по-удобно представяне на данните и обработващите ги функции обединявайки ги в абстракция, наречена "обект". COM дава възможността програмите, бидейки в компилиран вид, да си използват обектите една на друга.
Можем да обобщим:
ООП - code reusage в рамките на една програма
COM - code resusage в рамките на системата
DCOM - code resusage в рамките на мрежата

Я вышел им наперерез...
Отговор
в отговор на Resurrector #11

Re: цитат от...

takaaaa... dotuk dobre. demonstrirash poznania po OOP i vsichki ostanali jaji. sega obache da te pitam za vremeto za izpylnenie i nujnite resursi (btw znaesh li kakvo znachi "resurs" )

time... what is time?
Отговор
в отговор на Kid27O1 #12

Re: цитат от...

poniakoga e mnogo polezno da izpolzvash tezi tehnologii - kogato mojesh da si pozvolish resursite
tova naistina spestiava dosta vreme i usilia. Po-golemia problem e 4e tezi tehnologii pri MS "po default" se smeniat s novi na vseki 2~3 godini - tukmo nau4ish neshto, i to ve4e e ostarialao - purvo beshe OLE, polse kato dojde 32-bitovia windows se pojavi COM (kojto v obshti linii pravi sushtoto kato OLE-to), i DCOM za mrejite, sega ve4e se nabludavat naikoi priznaci 4e MS shte zareje COM i DCOM i shte gi zameni s SOAP - niama kraj tova u4ene na razli4ni tehnologii, praveshti edno i sushto

Отговор
в отговор на Kid27O1 #13

Re: цитат от...

Разбира се, че се консумират ресурси (машнинното време също може да се разглежда като ресурс). Всяко удобство струва пари, така да се каже.
Проведох едни тестове за скоростта на извикване на функции (MS c++ компилатор, показвам резултати преди кода да е влязъл в кеша):
Обикновена функция: 16103059.58 извиквания/сек.
Член-функция: 7132667.62 извиквания/сек.
Виртуална член-функция: 4633920.30 извиквания/сек.

Интересно, какви ли изводи ще последват сега?

Я вышел им наперерез...
Отговор
в отговор на Resurrector #14

Re: цитат от...

ami kvo da ti kaja... te izvodite si idvat ot samosebe si. samia Win e nai-dobria izvod. obiasni mi kakva e ot gledna tochka na user-a chak takava razlikata ot Win98 naprimer - XP e 1.4Gb, 98 e 240Mb. znaesh li kolko e baseline na XP? 6Mb! a ostanalite?
sega da ti kaja niakolko dumi za izkazvaneto ti za "konservatorite i progresa" - znachi tova poniatie "progres" vseki go tylkuva po razlichen nachin. za men progres e pytiat po koito si ulesniavash jivota a ne obratnoto. ti stoish na protivnata pozicia. sledovatelno si protiv progresa, osven ako ne tvrdish che progresa ne e subektivno poniatie... togava pyk izliza che tvoeto mnenie ne e validno poneje zastavash na absolutna pozicia
abe s po-prosti dumi - ne si prav she go razberesh sled nekolko godini...

time... what is time?
Отговор
в отговор на Kid27O1 #15

Re: цитат от...

za men progres e pytiat po koito si ulesniavash jivota a ne obratnoto
Чети по-горе!
ООП дава възможност за по-удобно представяне на данните и обработващите ги функции...

abe s po-prosti dumi - ne si prav she go razberesh sled nekolko godini...
Да бе, като се пенсионирам

Я вышел им наперерез...
Отговор
в отговор на Resurrector #16

Re: цитат от...

taka... znachi otzad napred - za pensioniraneto: ami az opredeleno imam namerenie ako dojiveia do pensia da ne sym debil . zatova si gledam ulesnenieto. a kolkoto do OOP - pyrvo tva ako e citat ne e dobre, pravi vpechatlenie na horata che nemash sobstveno mnenie, a pyk ako ne e citat pak idvame do vyprosa "i zashto reshi che neshto validno za teb e validno i za drugite?"

time... what is time?
Отговор
в отговор на Kid27O1 #17

Re: цитат от...

...... dobre... moje....
nemoga da otreka ce ensto mnogo slojno se nujdae ot metodi za "modulizirane" i oprostiavane taka ce da se razrabotva po-lesno!
mojebi CAD sistema, s nekav injeneren simulator na dinamika na neznam si kakvio.....
mojebi ima nujda ot tova!

losoto e ce, imenno za da se "premesti" edna tocka ot "ekrana" se pribiagva do takiva sturotii! tova e losoto!

taka ste se stigne ce za da se saberat 2cisla, nema da se vika instrukcia na procesora, ami
com-obekt, ot podmnojestvoto na .net-api-tata ot klasa na klasovete na obektite, ot .dll-to deto e na 14to instalacionno CD ot win-min-tralala-visual++opala, funkciata deto obslujva sabitieto deto...................

Отговор
в отговор на CALL-151 #18

Re: цитат от...

towa e polojenieto minke

ili iskash kato pishesh za Win da linkwash statichno sys celia OS? Ili wikash normalni DLL funkcii shte polzwash, hubos ama bez COM kak ako mojesh da mi obiasnish shte se zapazwa starata funkcionalnost kato se dobawia nowa w OS-a?!

Отговор
в отговор на heh #19

Re: цитат от...

mnogo mi e interesno kak tehnologia kato COM shte se smeni s protokol kato SOAP?!

Отговор
в отговор на Resurrector #20

Re: цитат от...

drugoto koeto dawa OOP e code reusability i bez problemen extension

Отговор