생활
Stateless프로그래밍이 어떻게 하는거죠?
가능하다면 OOP와 비교한 예제 코딩을 보여주셔서 설명 부탁드려요.
추가적으로 Golang으로 보여주시면 하지만 다른언어로도 상관은 없어요
55글자 더 채워주세요.
1개의 답변이 있어요!
딱 원하시는 부분을 찾았네요
무국적(Stateless)이란 개인의 신청서(application)가 주정부(dependent from state.)에 의존하지 않는다는 것을 의미합니다. 따라서 함수를 두 번 호출하면 항상 동일한 결과를 얻게됩니다. 이것은 인스턴스와 해당 인스턴스 변수에 따라 메소드가 없는 함수형 프로그래밍 언어에서 흔히 볼 수있는 패턴입니다.
아래의 소스는 OPP에서 사용하는거라고 하네요
# Ruby class User # Set instance variables def initialize(first_name, last_name, age) @first_name = first_name @last_name = last_name @age = age end # Create reader methods to get the age attr_reader :age def make_older(number_of_years) @age += number_of_years end end user = User.new("Bernhard", "Støcker", 31) # => #<User:0x007fd2cb0e6cf8 @first_name="Bernhard", @last_name="Støcker", @age=31> user.age # => 31 user.make_older(5) # => 36 user.age # => 36아래는 stateless에서의 스크립트입니다
# Elixir defmodule User do defstruct first_name: nil, last_name: nil, age: nil def age(user) user.age end def make_older(user, number_of_years) Map.put(user, :age, number_of_years) end end user = %User{first_name: "Bernhard", last_name: "Støcker", age: 31} # => %User{first_name: "Bernhard", last_name: "Støcker", age: 31} user.age # => 31 make_older(user, 5) # => %User{first_name: "Bernhard", last_name: "Støcker", age: 36} user.age(user) # => 31출처 - https://www.quora.com/What-is-stateless-programming-and-what-are-some-examples