如何正確的設計類和應用類?

來源:互聯網
上載者:User
本人小白一名,從事web開發方面的工作,在工作中遇到一些類的設計方面的問題。
1.在類的設計中library這一概念很模糊,不知道應該將什麼樣的東西放在library中。
2.我現在有一張商品表(Goods),我需要對商品表做如下操作。

  • 從資料庫中取出goods表的記錄,每100-500條一頁。

  • 需要對2-*條goods記錄的內容或狀態進行修改。

  • 新增、修改、刪除單條goods記錄。

我應如何設計商品類才能滿足這樣的需求?

===以上問題完,以下為自己的想法,各位可以不看===

按傳統思維,應該把商品作為一個對象進行操作,新增一個商品就新增一個商品對象,然後對當個商品對象進行入庫操作,這樣很好理解。

但是當我在展示表單的時候,我完全可以直接從資料庫中取出然後就賦值給模板。這樣的話我為什麼還需要商品對象?如果我一條一條的執行個體化對應的商品對象每個商品對象都有自己在資料庫中對應的唯一ID,然後再遍曆商品對象將對象中的值賦值給模板,這樣感覺又很多此一舉。這兩種模式我該如何選擇?

我接受到POST批量修改2至多條記錄的請求的時候,是否應該遍曆2至多條id記錄然後執行個體化對應的商品對象,然後通過商品對象中的方法修改資料庫中對應的值?還是直接寫一個函數將id列表傳入函數中用SQL直接對對應的記錄進行修改?

個人認為問題的核心是在於我不清楚對於多條操作,我是否應該建立相應的對象,希望各位有經驗的人能協助我解決這些困惑。

回複內容:

本人小白一名,從事web開發方面的工作,在工作中遇到一些類的設計方面的問題。
1.在類的設計中library這一概念很模糊,不知道應該將什麼樣的東西放在library中。
2.我現在有一張商品表(Goods),我需要對商品表做如下操作。

  • 從資料庫中取出goods表的記錄,每100-500條一頁。

  • 需要對2-*條goods記錄的內容或狀態進行修改。

  • 新增、修改、刪除單條goods記錄。

我應如何設計商品類才能滿足這樣的需求?

===以上問題完,以下為自己的想法,各位可以不看===

按傳統思維,應該把商品作為一個對象進行操作,新增一個商品就新增一個商品對象,然後對當個商品對象進行入庫操作,這樣很好理解。

但是當我在展示表單的時候,我完全可以直接從資料庫中取出然後就賦值給模板。這樣的話我為什麼還需要商品對象?如果我一條一條的執行個體化對應的商品對象每個商品對象都有自己在資料庫中對應的唯一ID,然後再遍曆商品對象將對象中的值賦值給模板,這樣感覺又很多此一舉。這兩種模式我該如何選擇?

我接受到POST批量修改2至多條記錄的請求的時候,是否應該遍曆2至多條id記錄然後執行個體化對應的商品對象,然後通過商品對象中的方法修改資料庫中對應的值?還是直接寫一個函數將id列表傳入函數中用SQL直接對對應的記錄進行修改?

個人認為問題的核心是在於我不清楚對於多條操作,我是否應該建立相應的對象,希望各位有經驗的人能協助我解決這些困惑。

沒有正確與錯誤之分。只有優雅與不優雅之說。
編程的樂趣不就在於條條大路通羅馬膜?既然你感覺方法一更好。那就用1。當你覺得2不錯。就選2。我做web不到半年。但是最大的收穫就是要相信自己。我覺得造成我們這麼想的問題就是從小到大應試教育老是要求我們去追求標準答案。然而編程絕對沒有標準答案!

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.