亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何設計合理的service?

如何設計合理的service?

冉冉說 2019-04-10 20:48:41
今天碰到一個bug,最后發現原因應該就是service的設計不當(另一個提問)那么我們應該如何設計合理的service?有哪些要注意的?什么才是好的service?有哪些的例子可以參考?
查看完整描述

2 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

你的問題的本質,是兩個“主語”(只是在你的案例中恰好都是service而已)的各自一個“行為”(do1和do2)含有了完全相同的一個“行動效果”(修改p.s的值)。
沖突不在于service,而在于行動效果冗余。
試想一下,換一個案例,其中只有一個主語,兩個行為(do1和do2)都是它的,那么問題也是等價的。
兩個行為有重疊的行動效果,實在太常見的了。
關鍵在于,你怎樣界定,哪種重疊是滿足需求的?哪種是錯誤、不合理的?
舉一個滿足需求的例子:
需求是:p是一個鼠標懸停的tips(界面組件)。先根據鼠標坐標,賦值p.top為一個值。隨后,計算tips是否超出了窗口邊緣。如果是,則計算tips的top的最大值(因為窗口大小可能會被改變,所以需要計算),然后賦值p.top為該最大值。p.left同理。
這是我做網頁前端開發時遇到過的需求。
你的解決辦法,大概可以解決你的那一個具體案例,但換成別的情況可能就又不對癥了。
在我看來,關鍵在于,一個行為的源頭(往往是事件)所導致一連串行動效果,其中要避免出現重疊;除非需求要求必要的重疊。
這“一連串”的“串法”,是設計上要想清楚的。你已經在朝這個方向努力了,只是關注點稍有偏離。
至于串的過程中的對象(主語/賓語)是不是service、是何種service,倒是沒有關系。
                            
查看完整回答
反對 回復 2019-04-10
  • 2 回答
  • 0 關注
  • 330 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號