如題,今天要談一談使用者的預設收貨位址
為什麼要談這個問題,感覺這是乙個非常成熟的設計和解決方案了,為什麼還要談。
談這個的導火索是產品妹妹過來跟我說咱們的使用者位址是不是用問題,為什麼我的位址不是上一次的收貨位址了。
然後我balabalabala說了一堆,我想我們是想要做一好的產品,還是要做乙個產品,是為了解決問題,還是為了更好的解決問題,
現成的京東**噹噹可以參考的模式,我們為什麼不學習一下。
然後我balabalabal說了一堆之後,讓產品妹妹看了設計,看了資料庫,讓她再次看了自己的收貨位址,然後產品妹妹說我在看看之後,走掉了。
我不知道我說的話對她會產什麼影響,或者讓她怎麼看我。
但我自己感覺我們是為了應該更好的解決問題,是為了做乙個好產品,而不是為了解決問題而解決問題,為了做產品而做產品。
所以今天把這個問題拿出來再討論一下。
我最近確實是在練習控制情緒,所以為了控制情緒,緩解壓力,先來一段,無論如何都需要尋找別人優點,發現美麗,而不能吐槽,不能抱怨。
上帝給了我明亮的眼睛和銳利的智慧型,是讓我發現身邊的優點和美好,肯定上帝不希望我對別人吹毛求疵,所以要包容,微笑。
說道這裡我都感覺沒有討論的必要了,因為感覺這已經非常明確了,
但是在重構建立訂單時,看到每次生成訂單都要去查詢之前的訂單,並且要查到之前最後一次的收貨位址,這給人的感覺就非常不爽。
那麼能不能改成選位址了就去查位址表,查訂單就才查訂單表。
那麼位址表要怎麼設計怎麼體現出最後一次使用。
我能想到的大概是這個樣子
user_address(
int id pk,
int user_id,
string province,
string city,
string street,
string detail,
timestamp create_time,
timestamp update_time,
boolean is_default,
timestamp last_use_time,
string hash_code -------- 可以刪除了,當時不知道怎麼想的。
)我想的是大概是這個樣子,乙個使用者有多個位址,
每個位址都有自己的建立時間,更新時間,是不是預設位址,以及最後的使用時間。
當時也不知道是不是腦子進水了還想了乙個hash值,來表示一條位址資訊是不是唯一的,想想也是多餘,都忘了想雜湊值的初衷了,但也把它寫出來,能看到我的乙個思考過程。
通過這樣的設計,這樣就可以根據業務需求來決定是使用最後一次使用過的位址,還是使用預設位址了,而不是每次都要重新去從訂單裡去查。
今天談這個目的一是想把這個設計說明白,二是想說**真的是需要優化,而優化的前提是資料庫要能支援。
再就是產品要從多使用者的角度去考慮問題,自己多使用自己的產品,好用,易用,不是開發說的,不是老闆的意思,而是正真的乙個使用者的體驗。
想起了一句話說賈伯斯的牛就在於他能讓自己在使用產品是瞬間秒變白痴,想來那是真正的從乙個使用者使用者的角度去看問題,思考問題了。
談一談預設建構函式
最近在看 深入探索c 物件模型 看到預設建構函式,在這裡談一下自己的理解。之前在看 c primer 的時候,看到過 當乙個類沒有建構函式時,編譯器會合成乙個預設建構函式。但是這個合成的建構函式做什麼呢?其實合成的預設建構函式只是滿足編譯器的需要,而不能滿足我們的需求。例如 class a 我想要初...
談一談C 的事件
c 中事件基於委託,要理解事件要先理解委託,如果覺得自己關於委託不是很了解可以看看我前面寫委託的文章 使用委託時,一般會出現兩種角色 廣播者 發布者 和訂閱者,這是乙個非常常見的模型 using system class program 定義 發布 委託 public delegate void p...
談一談 define中 和 的作用
最近在閱讀大佬們寫的開源庫的時候,看到一些巨集定義,不是很明白它的用法,就查了很多資料,弄清楚它們的用法後,在這裡記錄一下。1 的作用 param指把param當成符號,就是把 後面的看成字串 define test1 param param include intmain int argc,cha...