<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=416363&amp;view=findpost&amp;p=3815542</guid>
        <pubDate>Sun, 24 Nov 2019 05:59:23 +0000</pubDate>
        <title>OOP vs FP</title>
        <link>https://forum.sources.ru/index.php?showtopic=416363&amp;view=findpost&amp;p=3815542</link>
        <description><![CDATA[Cfon: Демо четко показывает разницу подхода функционального программирования от ООП на простом примере. <br>
ООП стиль:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">class Counter {</div><div class="code_line">&nbsp;&nbsp; &nbsp;constructor(value) {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this._value = value;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;get value() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;return this._value;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;increment() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this._value = this._value + 1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">&nbsp;&nbsp; &nbsp;plus2() {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.increment();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;this.increment();</div><div class="code_line">&nbsp;&nbsp; &nbsp;}</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">const counter = new Counter(0);</div><div class="code_line">counter.plus2();</div><div class="code_line">console.log(counter.value);</div><div class="code_line">//-&#62; 2</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
а теперь функциональный стиль<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">import * as R from &#39;ramda&#39;;</div><div class="code_line">&nbsp;</div><div class="code_line">const increment = counter =&#62; counter + 1;</div><div class="code_line">const plus2 = R.compose(increment, increment);</div><div class="code_line">console.log(plus2(0)); </div><div class="code_line">//-&#62; 2</div></ol></div></div></div></div><br>
Комменты от Масты апосля  :D]]></description>
        <author>Cfon</author>
        <category>JavaScript, DOM/DHTML</category>
      </item>
	
      </channel>
      </rss>
	