我有一个包含x个字符串的系统。这些字符串基于某些逻辑显示在UI中。例如,字符串编号1应仅显示当前时间是否超过正午,而字符串3仅显示0-1之间随机生成的数字是否小于0.5。
如何对此进行建模?
逻辑是否应该在代码中并通过某种类型或ID链接到字符串?
逻辑应该是如何存储字符串的吗?
注意以上是人们开始质疑我的逻辑之前的理论示例。
答案 0 :(得分:1)
通常最好将资源(如字符串)与逻辑分开。所以按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]