java分層的基本概念,java 分層

本文目錄一覽:

如何理解Java設計分層模型裏面的model/module/domain/entity

domain是領域,就是做的項目面向什麼業務,比如物流,金融,可能實際會範圍小一些。

module是模塊,一個大系統里分成幾個小的模塊

model是模型,基本上就是定義的各種能展現領域模型的類,比如物流里可能有倉庫類,商品類,倉庫存貨記錄類等。

entity是實體,模型中一種特殊的類,這種類每個實例都有一個唯一ID,可以被存儲,從新取回重現。模型里還有可能有其他種類,比如值對象想enum,他屬於model但不是實體

Java的概念和定義是什麼?

Java基本概念為Java是面向對象的編程語言,具有簡單性、面向對象、分佈式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。

闡述在java中是如何分層的,可以介紹MVC架構,以一個簡單的實例說明

MVC模式。

Model模式層

View視圖層

Controller控制器

視圖(View)代表用戶交互界面,對於Web應用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨着應用的複雜性和規模性,界面的處理也變得具有挑戰性。一個應用可能有很多不同的視圖,MVC設計模式對於視圖的處理僅限於視圖上數據的採集和處理,以及用戶的請求,而不包括在視圖上的業務流程的處理。業務流程的處理交予模型(Model)處理。比如一個訂單的視圖只接受來自模型的數據並顯示給用戶,以及將用戶界面的輸入數據和請求傳遞給控制和模型。

模型(Model):就是業務流程/狀態的處理以及業務規則的制定。業務流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數據,並返回最終的處理結果。業務模型的設計可以說是MVC最主要的核心。目前流行的EJB模型就是一個典型的應用例子,它從應用技術實現的角度對模型做了進一步的劃分,以便充分利用現有的組件,但它不能作為應用設計模型的框架。它僅僅告訴你按這種模型設計就可以利用某些技術組件,從而減少了技術上的困難。對一個開發者來說,就可以專註於業務模型的設計。MVC設計模式告訴我們,把應用的模型按一定的規則抽取出來,抽取的層次很重要,這也是判斷開發人員是否優秀的設計依據。抽象與具體不能隔得太遠,也不能太近。MVC並沒有提供模型的設計方法,而只告訴你應該組織管理這些模型,以便於模型的重構和提高重用性。我們可以用對象編程來做比喻,MVC定義了一個頂級類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點對編程的開發人員非常重要。

業務模型還有一個很重要的模型那就是數據模型。數據模型主要指實體對象的數據 保存(持續化)。比如將一張訂單保存到數據庫,從數據庫獲取訂單。我們可以將這個模型單獨列出,所有有關數據庫的操作只限制在該模型中。

控制(Controller)可以理解為從用戶接收請求, 將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發器,選擇什麼樣的模型,選擇什麼樣的視圖,可以完成什麼樣的用戶請求。控制層並不做任何的數據處理。例如,用戶點擊一個連接,控制層接受請求後, 並不處理業務信息,它只把用戶的信息傳遞給模型,告訴模型做什麼,選擇符合要求的視圖返回給用戶。因此,一個模型可能對應多個視圖,一個視圖可能對應多個模型。

MVC的一個形象的例子,我要去買一輛奔馳車,那麼我先要去4S店,那麼這個店面就是控制層,他不會關心車子是什麼製造的,只管提供車給我。那麼車廠就是SERVICE層,他只管製造車子,把結果提供給4S店,那車子的零件又是怎麼來的呢?他就是通過更多的零件廠商來提供,那麼這些零件廠商就是DAO層。

JAVA中Action層, Service層 ,modle層 和 Dao層的功能區分

首先這是現在最基本的分層方式,結合了SSH架構。modle層就是對應的數據庫表的實體類。Dao層是使用了Hibernate連接數據庫、操作數據庫(增刪改查)。Service層:引用對應的Dao數據庫操作,在這裡可以編寫自己需要的代碼(比如簡單的判斷)。Action層:引用對應的Service層,在這裡結合Struts的配置文件,跳轉到指定的頁面,當然也能接受頁面傳遞的請求數據,也可以做些計算處理。以上的Hibernate,Struts,都需要注入到Spring的配置文件中,Spring把這些聯繫起來,成為一個整體。

弄不懂java項目的分層思想

建議 樓主了解下MVC

一般的項目大概分為4層

dao 就是數據操作層

一般放對數據庫進行操作的方法,比如查找某條數據

biz 業務處理層

對用戶的數據進行業務邏輯處理比如註冊時,判斷用戶註冊的用戶名是否已存在,如果已存在返回用戶錯誤信息,否則將用戶註冊的信息寫入數據庫

servlet 邏輯判斷層

對頁面的請求響應數據進行邏輯處理,如封裝等

jsp 表現層

將程序處理的最終結果顯示給用戶

他們之間的聯繫就是,比如註冊:

用戶在jsp頁面進行表單填寫,點擊提交到一個servlet,servlet將註冊信息封裝成javaBean交給biz層處理,這時候biz層對javaBean解封將用戶註冊的用戶名提取出來調用dao層的checkUserName()進行判斷該用戶名是否已存在.如果存在返回一個信息給servlet告知用戶該用戶名已存在,請重新註冊.如果該用戶名不存在,說明可註冊,biz再調用dao層的savaUser()方法將用戶的註冊信息寫入數據庫,返回servlet一個註冊成功的信息,最後由servlet將這些處理的最終結果返回給jsp頁面給用戶.

建議樓主去多看看別人的項目,或者自己寫些小項目這樣在寫程序的過程中能更貼切的理解這些過程存在的意義

總之,分層思想的存在是更方便的管理和維護

求解釋java分層開發有哪些層次

一般java都是三層架構 數據訪問層(dao)、 業務邏輯層(biz 或者services) 、界面層(ui)。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/190922.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-30 09:08
下一篇 2024-11-30 09:08

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發佈。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論