假設我是一家軟件公司的技術負責人,專門爲廚師編寫應用程序,幫助組織食譜。最初我們正在爲麪包師製作一款應用程序,製作蛋糕,另一款面向壽司廚師。其中一個要求是創建用於導入和導出配方的標準文件格式。 (這種文件格式將成爲其他公司使用它來與我們的產品進行交互的行業標準),我們面臨兩種選擇:制定標準食譜格式(可以說.recipe),在適用的情況下使用公共屬性和可選屬性或者爲每個應用程序製作獨立的格式(讓我們說.sushi和.cake)。創建文件格式時。創建多種格式還是有多個可選部分更好?
想象的文件格式會是這個樣子壽司:
{
"name":"Big California",
"type":"sushi",
"spiciness": 0,
"ingredients": [
{
"name":"rice"
"amount": 20.0,
"units": "ounces"
},
{
...
}
],
}
和想象中的文件格式將是這個樣子的蛋糕:
{
"name":"Wedding Cake",
"type":"cake",
"layers": 3,
"ingredients": [
{
"name":"flour"
"amount": 40.0,
"units": "ounces"
},
{
...
}
],
}
通知的文件格式非常相似只有spiciness
和layers
屬性不同。毫無疑問,隨着應用程序的複雜性和複雜性的增長,並且會導致添加更多的專用屬性。其他類型的廚師也將增加更多的應用程序。在這種情況下,
更聰明的做法是讓每個應用程序讀/寫符合標準化接口的.recipe文件,或者更聰明地刪除所有相互依賴並讓每個應用程序讀/寫各自的.sushi和.cake文件類型?