0
我有一個包含x個字符串的系統。這些字符串顯示在基於某種邏輯的用戶界面中。例如,字符串編號1應該只顯示當前時間是否過去,如果0-1之間隨機生成的數字小於0.5,則只顯示字符串3。如何將邏輯與對象連接
這將如何建模?
邏輯是否應該在代碼中並通過某種類型或ID鏈接到字符串?
邏輯應該如何與字符串一起存儲?
備註以上是人們開始質疑我的邏輯之前的理論示例。
我有一個包含x個字符串的系統。這些字符串顯示在基於某種邏輯的用戶界面中。例如,字符串編號1應該只顯示當前時間是否過去,如果0-1之間隨機生成的數字小於0.5,則只顯示字符串3。如何將邏輯與對象連接
這將如何建模?
邏輯是否應該在代碼中並通過某種類型或ID鏈接到字符串?
邏輯應該如何與字符串一起存儲?
備註以上是人們開始質疑我的邏輯之前的理論示例。
將資源(如字符串)與邏輯分開通常會更好。所以通過ID引用字符串是一個好主意。
看來,你有一堆規則,你必須鏈接到顯示的字符串。我將所有三個作爲單獨的實體:規則,字符串以及它們之間的鏈接。
在Python一個例證,必然被簡化了:
STRINGS = {
'morning': 'Good morning',
'afternoon': 'Good afternoon',
'luck': 'you must be lucky today',
}
# predicates
import datetime, random
def showMorning():
return datetime.datetime.now().hour < 12
def showAfternoon():
return datetime.datetime.now().hour >= 12
def showLuck():
return random.random() > 0.5
# interconnection
RULES = {
'morning': showMorning,
'afternoon': showAfternoon,
'luck': showLuck,
}
# usage
for string_id, predicate in RULES.items():
if predicate():
print STRINGS[string_id]