เหตุผลรูปแบบส่วนลดสามารถเป็นอะไรก็ได้ดังนั้นคุณไม่สามารถคิดว่าคุณสามารถตั้งโปรแกรมทุกกรณีล่วงหน้า ไม่มีใครที่สามารถตอบคำถามของคุณได้อย่างมั่นใจว่าสิ่งที่คุณต้องการจริง อย่างไรก็ตามสมมติว่าคุณได้รับส่วนลดตามปกติที่พบในโลกแห่งความเป็นจริง ...
คำถามใหญ่คือการตั้งโปรแกรมส่วนลดหรือไม่หรือคุณต้องการให้ผู้ใช้ป้อน ดังกล่าวข้างต้นที่คุณไม่สามารถที่ไม่เคยมีพวกเขาถูกตั้งโปรแกรม แต่มักจะมีเป้าหมายที่จะพยายามทำให้การป้อนข้อมูลมากขึ้นเช่นกรณีที่พบบ่อยมากกว่าการเขียนโปรแกรมพวกเขาทั้งหมด สิ่งนี้ใช้ได้ในระดับหนึ่งแม้ว่าโปรแกรมเมอร์จะถูกใช้เพื่อสร้างส่วนลดทั้งหมด
Martin Fowler กล่าวถึง "วิธีการแต่ละตัวอย่าง" ใน "รูปแบบการวิเคราะห์: โมเดลวัตถุที่ใช้ซ้ำได้" ซึ่งเป็นส่วนหนึ่งของวิธีการใช้ "กฎการโพสต์" สำหรับระบบบัญชี แต่กฎดูเหมือนจะค่อนข้างคล้ายกับของคุณ ฉันจะให้รายละเอียดเพิ่มเติม แต่มันเป็นงานที่มีลิขสิทธิ์และ
สำหรับอินเทอร์เฟซผู้ใช้คุณอาจต้องใช้กรณีที่ค่อนข้างง่ายหรือสร้างตัวแปลและตัวสร้างคิวรี อาจเป็นได้ทั้งสองกรณีสำหรับกรณีง่ายและอีกหนึ่งขั้นสูง หากคุณเขียนล่ามนี่น่าจะเป็นกรณีที่ค่อนข้างดีสำหรับการใช้รูปแบบการแปลเนื่องจากมันค่อนข้างง่ายในการเขียนโค้ดเปรียบเทียบกับตัวแยกวิเคราะห์และเวลาในการแยกวิเคราะห์ที่ช้ากว่าอาจไม่สำคัญ (ถ้าคุณชอบการใช้ตัวแยกวิเคราะห์อย่าให้ฉันหยุดคุณ)
อย่าพยายามทำทุกอย่างกับล่าม - ในบางครั้งคุณเป็นเพียงการเขียนโปรแกรมในภาษาของคุณเองดังนั้นคุณอาจใช้ของจริง หากภาษาที่แปลของคุณรองรับฟังก์ชั่น (มันอาจจะสนับสนุนการเรียกพวกเขา - การกำหนดพวกเขาเป็นพิรุธ) พวกเขาสามารถเขียนในภาษาจริง อย่าลงไปตามถนนสายนี้มากกว่าที่คุณต้อง
ไม่ว่าคุณจะทำอะไรในที่สุดก็มีคนต้องการให้ส่วนลดขึ้นอยู่กับว่าพวกเขาซื้อภายใน 30 วันทำการของโปรโมชั่น - ที่วันทำการนับเฉพาะถ้าไม่มีวันหยุดในภูมิภาคที่กำหนดโดยรหัสไปรษณีย์ของร้านค้าหรือลูกค้า รหัสไปรษณีย์. ดังนั้นอย่าพยายามออกแบบระบบที่สมบูรณ์แบบล่วงหน้า - บางครั้งคุณอาจจำเป็นต้องเขียนโค้ดเพื่อรับส่วนลดและการออกแบบใหม่ ๆ