<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=2596&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-03-19T11:30:29+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=2596&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-03-19T11:30:29+01:00</updated>
<published>2013-03-19T11:30:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2596&amp;p=31031#p31031</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2596&amp;p=31031#p31031"/>
<title type="html"><![CDATA[Re: Enkapsulacja ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2596&amp;p=31031#p31031"><![CDATA[
to o czym piszesz szerzej stosowane jest w obiektówce w językach typu C++<br /><br />tutaj dodawanie funkcji set_ ... czy get_variable() .... to rzeczywiście narzut i zależy ściśle od konkretnego projektu czy rozwiązania, ja rzadko z tego korzystam co nie znaczy że nigdy a chyba namiastkę takiego podejścia (pełnej ochrony własnych bibliotek) pokazałem w poradniku:<br /><br /><!-- m --><a class="postlink" href="http://mirekk36.blogspot.com/2012/12/wskazniki-struktury-callbacki-jazda-bez.html" >http://mirekk36.blogspot.com/2012/12/ws ... a-bez.html</a><!-- m --><br /><br />gdzie rzeczywiście poszedłem w pokazaniu rozwiązań w C, które prawie sprowadzają się do C++ <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />ale takie podejście trzeba bardzo wyważać i wątpię aby w prostych projektach, które na co dzień robimy miało to aż takie znaczenie.<br /><br />Minimaliztyczny przykład takiego podejścia masz w rozdziale na temat multipleksowania wyświetlaczy LED w niebieskiej książce:<br /><br /><!-- m --><a class="postlink" href="http://atnel.pl/mikrokontrolery-avr-jezyk-c.html" >http://atnel.pl/mikrokontrolery-avr-jezyk-c.html</a><!-- m --><br /><br />gdzie udostępnione są jako właśnie globalne ze specyfikatorem extern zmienne dla użytkownika biblioteki cy1, cy2, cy3, cy4<br /><br />i próba ich obudowy w metody (bo tak trzeba byłoby to prawie nazwać) set_ lub get_ może być pozbawiona sensu w tak prostym przykładzie, lecz z drugiej strony gdyby chcieć mocno rozbudować taką bibliotekę i wprowadzić jeszcze większe usprawnienia dla użytkownika biblioteki - to czemu nie ..... wszystko to kwestia pomysłu i bieżących potrzeb.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 19 mar 2013, o 11:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[beret82]]></name></author>
<updated>2013-03-19T11:10:26+01:00</updated>
<published>2013-03-19T11:10:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2596&amp;p=31030#p31030</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2596&amp;p=31030#p31030"/>
<title type="html"><![CDATA[Enkapsulacja ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2596&amp;p=31030#p31030"><![CDATA[
Witam,<br /><br />Panowie mam pewien dylemat zawsze podczas pisania większego programu. Chodzi o enkapsulacje zmiennych. Tak wiem, że C jako takie nie wspiera tego mechanizmu jednak można go implementować.<br /><br />Pytanie jest następujące na jakiej podstawie podejmujecie decyzje czy zmienna zadeklarowana w jednym module do której dostęp jest potrzeby innym module będzie globalna czyli zadeklarowana w pliku nagłówkowym ze słówkiem <strong>extern</strong> czy też będzie zmienna <strong>static</strong> w danym module a możliwość zmiany i odczytu jej stanu będzie zrealizowana przez dodatkowe funkcje np. get_variable() set_variable().<br /><br />Z moich dotychczasowych poszukiwań w tym temacie większość artykułów, postów i komentarzy sugeruje nie używanie zmiennych globalnych a jeżeli są konieczne to ograniczenie ich do minimum. Jest to dla mnie w pełni zrozumiałe. <br />Z drugiej strony implementacja enkapsulacji powoduje dodatkowy narzut kodu jak i czasu wykonania.<br /><br />Ciekawy jestem czy zastanawiacie się podczas pisania kodu nad takimi tematami a jeśli tak to jakie rzeczy bierzecie pod uwagę?<br /><br />Pozdrawiam,<br />Marcin<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=733">beret82</a> — 19 mar 2013, o 11:10</p><hr />
]]></content>
</entry>
</feed>