왜 두 번째가 아니라 세 번째냐
구현 둘은 표본 둘이고, 표본 둘로는 뭐가 본질이고 뭐가 우연인지 못 갈라. 거기서 추상하면 앱 하나의 우연한 선택을 문제의 모양인 양 공용 층으로 들어올리게 되고, 그다음 일 년을 그걸 되돌리는 인자 붙이기에 쓰게 돼.
세 번째 복사본이 패턴이 자기 사례들에서 갈라져 나오는 자리야. 셋 다 하는 게 기계고, 하나만 하는 게 그 앱의 사업이야. 이 가족의 실무 휴리스틱이고, 승격 대부분이 이걸 따라.
전부는 아니고, 예외는 즉흥이 아니라 기록돼. 모듈 몇 개는 두 번째 사용에서 승격됐어. 각각 측정을 달고. 앱 이름을 치환하고 나니 복사본 둘이 바이트까지 똑같았다는 것. 그건 그 모양에 대한 바람이 아니라 증거야. 똑같다는 게 증명된 두 번째 복사본은 세 번째가 해줄 말을 이미 한 거야.
예외, 그리고 그걸 예외로 만드는 것
표면 하나가 두 번째 소비자가 있기도 전에 승격됐어. 모델한테 닿기 전에 외부에서 쓰인 텍스트를 신뢰할 수 없는 증거로 감싸는 래퍼. 아무것도 세탁하거나 요약하지 않아. 경계를 표시할 뿐이야. 인용된 자료는 증거지 지시가 아니라고 대놓고 말하는 것.
일찍 옮기는 논증이 그때 적혔어. 남이 쓴 텍스트를 모델한테 건네는 형제라면 다 이 표면을 가져. "신뢰할 수 없는 텍스트는 래퍼를 통과한다"를 공용 규칙으로 한 번 세우는 게 저장소마다 재발견하는 것보다 싸. 그리고 그 발견은 중복 파일이 아니라 사고야. 소유 애플리케이션이 이미 비싼 쪽으로 알아냈거든. 모델이 뱉은 식별자를, 모델이 실제로 본 묶음에 대고 확인 안 하고 믿었어. 공개 사이트에 발행하는 경로에서.
승격은 추출만이 아냐
범위를 작게 잡기 쉬워서 적어둘 값이 있어. 패턴을 승격시킨다는 건 파일을 옮기는 것 이상이야. 다른 소비자들이 필요로 할 이음매를 이름 대는 것 (보통 두 번째가 채택하고 나서야 보여), 어디서 채택될 예정이고 어디는 일부러 아닌지를 적는 것, 그리고 앱 단위가 아니라 사용 지점 단위로 채택되는 표면이라면 원장이 한동안 채택 옆에 의도를 같이 보여줄 걸 받아들이는 것.
마지막이 허술한 게 아니라 정직한 거야. 그 안전 래퍼는 호출 지점이 있는 딱 한 자리에서 채택됨으로 표시되고 나머지는 전부 대기야. 저장소는 실제로 남의 텍스트를 모델한테 먹일 때 그걸 받지, 미리 받는 게 아니거든. 즉시 사방에 복사본으로 뿌렸으면 체크 표시로 가득 찬 표가 나오고 안전은 하나도 안 늘었을 거야.