저는 취미 프로그래머라는 말로 시작해야합니다. 나는 약을 연습하지 못하고 시간이 지남에 따라 지식을 쌓으려고 노력할 때 (대부분) PHP를 연습하면서 길을 따라 사람들을위한 몇 가지 문제를 해결합니다.이 시공 평가 프로젝트에 어떤 디자인 패턴을 고려해야합니까?
최근에 저는 가족의 주택 개조 사업 신청서를 작성했습니다. 이 프로젝트는 codeigniter와 mongodb를 기반으로하며 작동하는 동안 꽤 좋지 않다는 것을 알고 있습니다. 나는 약간의 시간을 디자인 패턴에 대해 읽은 후이 프로젝트의 '평가자'부분에 맞는 것을 결정하는 데 어려움을 겪고 있습니다. 그것이 어떻게 작동하는지
은 다음과 같습니다
사용자가 가격을 결정하는 방법과 관련된 일련의 측정에 들어간다. 때때로 이러한 측정은 일종의 제품 (예 : 거터)에만 해당됩니다. 다른 경우, 측정은 제품보다 훨씬 더 밀접한 관련이 있습니다. 예를 들어 비닐로 된 외장 덮개를 비닐 & 알루미늄으로 덮습니다.
모든 구체적인 추정 방법마다 다른 유형이 필요합니다. 측정. 위의 두 가지 예를 계속 ...
우리가 알아야 할 거터를 추정하려면 (작음, 큰, 화면) 및 선형 피트를 입력하십시오. 각 유형마다 자체 가격이 있다는 것을 아는 것이 중요합니다.
절정을 추정하려면 선형 피트 만 알아야합니다.
견적 공식은 비교적 쉽습니다. - 수량 x 가격 = 견적 - 수량은 조각 수, 피트 수 또는 평방 피트 수입니다.
내가 필요로하는 것보다 더 복잡하게 만들지는 모르겠지만 내 기술을 다음 단계로 가져와 좋은 객체 지향 코드를 디자인하는 방법을 배우고 싶습니다. 프로젝트의 다음 단계는 이러한 측정을 수행하고 작업에 필요한 재료 목록을 개발하는 것입니다. 사용 가능한 제품의 수가 많아서 훨씬 더 복잡한 작업입니다.
어떤 디자인 패턴을 고려해야합니까? 지금까지 대부분은 Abstract Factory
입니다. Builder
을 내 목록에 포함시켜야합니까? 또 뭐야?
이것은 좋은 예입니다. @ mazzzzz. 감사. 나는 그것이 프로젝트의이 부분을 위해 아름답게 작동 할 것이라고 생각한다. 다음 질문을 따르십시오 : 프로젝트의 다른 부분은 작업 크루에게 작업을 완료하는 데 필요한 자료를 알려주는 "자료 목록"을 작성하는 것입니다. 예를 들어 특정 작업에 필요한 비닐 처마 밑의 양은 여러 가지 측정 값에서 비롯됩니다 (추정치에 별도 측정 값으로 표시됨). 내 질문은 이것입니다 ... 만약 내가'인터페이스'클래스 안에 클래스를 정의한다면, 나중에 그 클래스의 함수를 사용하여 빌더에게 정보를 제공 할 수 있습니까? – Ryan
후속 질문에 대한 답변을 실제로 작성하는 데 필요한 정보가 충분하지 않았습니다 (달성하려는 목표를 조용히 이해하지 못함). 원할 경우 인터페이스에 다른 함수를 만들 수 있습니다 (BuilderInfo 또는 기타 호출 할 수도 있음). 각 클래스에 해당 함수를 구현하여 정보 (sqft, length, specific name 등)를 생성합니다. . 나는 이것을 포함하도록 예제를 업데이트 할 것이다. – Ben