tag:blogger.com,1999:blog-10303035.post3211798889656583419..comments2024-02-04T23:20:04.066+03:00Comments on Алёна C++: Слайды How to Design a Good API and Why it MattersAlenahttp://www.blogger.com/profile/09389124127364799922noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-10303035.post-86481897434293456952007-10-19T19:26:00.000+04:002007-10-19T19:26:00.000+04:00Еще одно "откровение":http://doc.trolltech.com/qq/...Еще одно "откровение":<BR/><BR/>http://doc.trolltech.com/qq/qq13-apis.html<BR/><BR/>и таких много.daohttps://www.blogger.com/profile/16304729845840861037noreply@blogger.comtag:blogger.com,1999:blog-10303035.post-81385923707349176502007-10-15T17:00:00.000+04:002007-10-15T17:00:00.000+04:00Дык эта, предложи лучше. :-)Я пока еще не встречал...<I>Дык эта, предложи лучше. :-)<BR/>Я пока еще не встречала хороших решений этой проблемы..</I><BR/>Кривоватость заключается в следующем:<BR/>1. Зачем нужен vConstructor/Constructor? Лично я не собираюсь для каждой фабрики писать такие helper-классы и использую уже давно изобретённый "велосипед" boost::function как универсальный функтор. Если фабрика не абстрактная, то метод регистрации делают шаблонным чтобы ещё больше сделать код обобщённым.<BR/>2. В вышеуказанной "статье" предлагается руками регистрировать классы в фабрике - тоже плохо. Это должно происходить на этапе статической инициализации.<BR/>По хорошему класс должен регистрироваться так:<BR/>template class MyFactory::RegisterProduct< ProductA1 >;<BR/>template class MyFactory::RegisterProduct< ProductB1 >;<BR/><BR/>Если уж очень нужно регистрировать разные наборы продуктов, то так:<BR/>MyFactory::instance().register< ProductA2 >();<BR/>MyFactory::instance().register< ProductB2 >();<BR/><BR/>В общем не нравятся мне такие вот недовелосипеды...archimed7592https://www.blogger.com/profile/16528361727405426189noreply@blogger.comtag:blogger.com,1999:blog-10303035.post-53538539680746065082007-10-14T01:49:00.000+04:002007-10-14T01:49:00.000+04:002Sergey RozovikВсе знают как должен выглядеть "пра...<B>2Sergey Rozovik</B><BR/><I>Все знают как должен выглядеть "правильный" API. К сожалению далеко не у всех получается его сделать :)</I><BR/><BR/><B>2Not a kernel guy</B><BR/><I>Существует три верных способа создать хороший API. К сожалению их никто не знает. :-)</I><BR/><BR/>Хех, я понимаю ваш сарказм :-). <BR/>Тем не менее это не повод не пытаться...<BR/><BR/><B>2djdron</B><BR/><I> 2Alena : "будут поминать исключительно"</I><BR/><BR/>Я в хорошем смысле этого слова! :-)<BR/><BR/>ПОМИНАТЬ несов. перех. и неперех.<BR/>1. разг. Вспоминать. // Упоминать о ком-л., чем-л.<BR/><BR/><B>2RedChrom</B><BR/><I>вы как-то писали про указатели на функции.</I> <BR/>Да, <A HREF="http://alenacpp.blogspot.com/2007/04/blog-post.html" REL="nofollow">было дело</A>.<BR/><I>Тут http://redchrom.blogspot.com/2007/10/blog-post.html<BR/>tсть элегантное решение с mem_funе, да и вообще пост думаю будет интересным )</I><BR/><BR/>Интересно, спасибо.<BR/><BR/><B>2archimed7592</B><BR/><I>Это не оффтоп - это спам.</I><BR/>Не, спам я оперативно удаляю. :-)<BR/><BR/><I>Решение кривоватое</I><BR/>Дык эта, предложи лучше. :-)<BR/>Я пока еще не встречала хороших решений этой проблемы..Alenahttps://www.blogger.com/profile/09389124127364799922noreply@blogger.comtag:blogger.com,1999:blog-10303035.post-63677147523889837122007-10-14T01:06:00.000+04:002007-10-14T01:06:00.000+04:00Фактически, слайды -- краткое содержание книги Бло...Фактически, слайды -- краткое содержание книги Блоха "Effective Java". Когда издавалась эта книга, он ещё в Sun работал. Неужели опыт работы в google не дал товарищу Блоху нового материала на тему правильного API...Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10303035.post-1883989971758192922007-10-13T20:14:00.000+04:002007-10-13T20:14:00.000+04:00Это не оффтоп - это спам.Решение кривоватое, да ещ...Это не оффтоп - это спам.<BR/>Решение кривоватое, да ещё и по русски писать не умеешь.archimed7592https://www.blogger.com/profile/16528361727405426189noreply@blogger.comtag:blogger.com,1999:blog-10303035.post-84232133502653388052007-10-13T14:18:00.000+04:002007-10-13T14:18:00.000+04:00Извиняюсь за оффтоп, но вы как-то писали про указа...Извиняюсь за оффтоп, но вы как-то писали про указатели на функции. Тут http://redchrom.blogspot.com/2007/10/blog-post.html<BR/>tсть элегантное решение с mem_funе, да и вообще пост думаю будет интересным )Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10303035.post-71458186589014360512007-10-13T13:21:00.000+04:002007-10-13T13:21:00.000+04:002Alena : "будут поминать исключительно"%)2Alena : <I>"будут <B>поминать</B> исключительно"</I><BR/><BR/>%)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10303035.post-52896574356779185432007-10-12T00:06:00.000+04:002007-10-12T00:06:00.000+04:00Существует три верных способа создать хороший API....Существует три верных способа создать хороший API. К сожалению их никто не знает. :-)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-10303035.post-32326498274189240512007-10-11T23:49:00.000+04:002007-10-11T23:49:00.000+04:00Есть, вообще, и видео-версия этого докладаhttp://v...Есть, вообще, и видео-версия этого доклада<BR/>http://video.google.com/videoplay?docid=-3733345136856180693Unknownhttps://www.blogger.com/profile/01316391161671242058noreply@blogger.comtag:blogger.com,1999:blog-10303035.post-48646247252204382092007-10-11T22:58:00.000+04:002007-10-11T22:58:00.000+04:00Все знают как должен выглядеть "правильный" API. К...Все знают как должен выглядеть "правильный" API. К сожалению далеко не у всех получается его сделать :)Sergey Rozovikhttps://www.blogger.com/profile/13717493609449785600noreply@blogger.com