비슷한 도우미 메서드가 여러 개있는 경우 두 가지 중 하나를 의미합니다. 나는 비슷한 방식으로 행동 비즈니스 개념의 무리가
정의 할 필요가있다 :
- 나는 비즈니스 개념 (객체를 읽기)이있다.
class User << ActiveRecord::Base
# active record attributes :first_name, :last_name
def full_name
FullName.from_parts(first_name, last_name)
end
def full_name=(val)
if val
self.first_name, self_last_name = val.partsfirst_name, val.last_name
else
self.first_name = self.last_name = nil
end
end
end
class FullName
attr_accessor :first_name, :last_name
def to_s
parts.join(" ")
end
def parts
[first_name, last_name].compact
end
def eq(other)
to_s.eq(other)
end
def self.from_parts(first_name, last_name)
# [...]
end
def self.from_full_name(full_name)
# [...]
end
end
: 첫 번째 경우를 들어
은 매우 자주, 메소드에 전달 된 첫 번째 인수는
class User < ActiveRecord::Base
# active record attributes :first_name, :last_name
def self.full_name(first_name, last_name)
[first_name, last_name].compact.join(" ")
end
def self.extract_first_name(full_name)
full_name.split.first
end
end
그래서 내가 full_name
에 대한 개념을 만들 것입니다 비즈니스 개념의 이름입니다
예제가 고안된 것을 알고 있지만이 개념을 둘러싼 많은 뷰 논리 및 도우미 그룹을 발견했습니다. 따라서 여러분이 더 많은 개념을 발견하게 될 경우, 또는 여러분이 자주 이러한 것들을 그룹으로 전달한다는 것을 알게되면 훌륭한 후보가됩니다. 또한 사용자의 전체 이름과 관련된 비즈니스 사용자와 여러 번 대화를 나누었 으면 실제로 여기에 비즈니스 개념을 원한다고 말하고 있습니다.
두 번째 경우에는 "동일한"속성을 여러 비즈니스 객체에 추가하려는 경우가 있습니다. 그들은 단지 다른 방식으로 계산됩니다. 장부 책과 사전의 경로가 다릅니다. 챕터 북과 사전의 개념을 소개하며 둘 다 경로 매개 변수를가집니다. 위에서 언급했듯이 이러한 비즈니스 개념을 사용자와 함께 자주 사용하지 않는다고 생각하는 경우 여기가 올바른 방법이 아닙니다.