Data structures 如何将逻辑与对象连接起来

Data structures 如何将逻辑与对象连接起来,data-structures,logic,Data Structures,Logic,我有一个包含x个字符串的系统。这些字符串显示在基于某些逻辑的UI中。例如,字符串1应仅显示当前时间是否超过正午,字符串3仅显示0-1之间随机生成的数字是否小于0.5 最好的建模方法是什么 逻辑应该只是在代码中,并通过某种排序或ID链接到字符串吗 逻辑应该与字符串一起存储吗 注意在人们开始质疑我的逻辑之前,上面是一个理论示例。通常最好将资源(如字符串)与逻辑分开。因此,通过ID引用字符串是一个好主意 似乎您有一系列规则,必须链接到字符串的显示。我会将这三个元素作为单独的实体:规则、字符串以及它们之

我有一个包含x个字符串的系统。这些字符串显示在基于某些逻辑的UI中。例如,字符串1应仅显示当前时间是否超过正午,字符串3仅显示0-1之间随机生成的数字是否小于0.5

最好的建模方法是什么

逻辑应该只是在代码中,并通过某种排序或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]
字符串={
“早上好”:“早上好”,
“下午好”:“下午好”,
“运气”:你今天一定很幸运,
}
#谓词
导入日期时间,随机
def showMorning():
return datetime.datetime.now().hour<12
def show午后()
return datetime.datetime.now().hour>=12
def showLuck():
返回random.random()>0.5
#互联互通
规则={
“早上”:早上好,
“下午”:下午,
“运气”:炫耀运气,
}
#用法
对于字符串_id,RULES.items()中的谓词:
if谓词():
打印字符串[string\u id]