#PARAN SILVERLIGHT#
  • Tistory
    • 관리자
    • 글쓰기
Carousel 01
Carousel 02
Previous Next

Functional Programming in C#

PROGRAMING/C# 2019. 11. 22. 10:01



참고 post 

https://nearsoft.com/blog/functional-programming-concepts-applied-using-c/


http://hamidmosalla.com/2019/04/25/functional-programming-in-c-sharp-a-brief-guide/



---------------------------------------------------------------------------------------------

아래 내용은 https://www.youtube.com/watch?v=jnefwbiK11Q 를 참고해서 작성



- Mutable value를 사용하는 대신 , 새로 Imutable instance를 생성해서 변경


- 함수를 새로 만들어 호출하는 대신 Func를 사용하여 캡슐화


- 일급 함수 ,  함수를 파라미터로 받아들이고 , 리턴하는 함수


- Statement 내부 Mutable variable은 병렬처리 시에 문제를 일으키 소지가 있다.

  Express을 사용해서 부작용을 제거


- 일급함수는 function을 리턴하므로 Method chaining pattern이 가능


- Class 내부에 함수를 생성하지 말고 Extension Methods를 사용 , 많이 사용하자

 Interface를 수정하지 않아 구현이 편할 뿐만 아니라 Chaining pattern을 가능하게 함


- Mutable이므로 부작용을 일으킬 수 있으므로 Extra Temp Data list을 제거하자. 

  심지어 코드도 깔끔하다. 


- Data class를 새로 만들어 사용하기 보다 Tuple을 사용해서 Data structure를 구성


[Functional programming workshop#]

1. Statement 를 Expression로 변경 


2. Extension method(ToAlike)을 사용해서 expression을 사용


3. Get Score 함수를 Statement에서 expression으로 정의해서 Chaining을 가능하게



블로그 이미지

파란실버라이트

To remember the time when I started learning Silver Light!

,

카테고리

  • Inforamtion Technology (281)
    • DESIGN PATTERN (33)
      • 실용주의 디자인패턴 (29)
    • SOFTWARE ENGINEERING (21)
      • Art Of Readable Code (12)
      • Object Oriented Programming (6)
      • TDD (2)
    • FRAMEWORK (22)
      • Spring.net (2)
      • LightSwitch (20)
    • PROGRAMING (58)
      • C# (20)
      • .NET (6)
      • HTML5 (7)
      • ASP.NET (9)
      • SILVERLIGHT (7)
      • Ruby On Rails (6)
    • PROJECT MANAGEMENT (10)
      • SW Version Management (7)
      • Schedulring Management (1)
    • BOOKS (18)
    • MOBILE APP (1)
      • SENCHA TOUCH (1)
    • SECURITY (5)
    • MES (1)
    • B2B (14)
      • WEBMETHODS (4)
    • ERP (53)
      • SAP/R/3 (51)
    • ABOUT TOOLS (2)
    • FUNDAMENT CONCEPT (21)
    • SOA BPM (22)
    • PORTFOLIO (0)

태그목록

  • 프로그래밍
  • 병렬
  • 동시성

최근에 받은 트랙백

글 보관함

링크

파란실버라이트

블로그 이미지

To remember the time when I started learning Silver Light!

LATEST FROM OUR BLOG

RSS 구독하기

LATEST COMMENTS

BLOG VISITORS

  • Total :
  • Today :
  • Yesterday :

Copyright © 2015 Socialdev. All Rights Reserved.

티스토리툴바