フロントエンドシステム3:表示ページの実装:プログラムの作成ビジネスロジッククラスサービスクラス;(ページングモジュールのモデルのサービス部分)

目次

I.概要

2:PaintingServiceクラスを開発します:ページングクエリ部分のプログラムビジネスロジッククラスを完了します

その結果、モデルのサービス部分が開発されます。つまり、モデル部分が開発されます。


I.概要

この部分は、主にMVCアーキテクチャのモデルレイヤーのサービス部分です。次に、このブログの特定のコンテンツは、ページング機能のサービス部分です。

サービスは、すべてのビジネスロジックの最も完全な実現です。

主に含まれています:

     (1)PaintingServiceクラス完全なプログラムビジネスロジッククラスであり、Controllerの要求を受け入れ、Dao(モデル部分の一部)クラスを呼び出してデータを取得します。PaintingServiceクラス自体は、次の方法で他の(データ以外のクエリ)ビジネスコードを追加できます。それ自体;一緒に取られて、サービスクラスとダオは一緒にモデルを形成します。


2:PaintingServiceクラスを開発します:ページングクエリ部分のプログラムビジネスロジッククラスを完了します

具体的な事業は次のとおりです。

package com.imooc.mgallery.service;

import java.util.List;

import com.imooc.mgallery.dao.PaintingDao;
import com.imooc.mgallery.entity.Painting;
import com.imooc.mgallery.utils.PageModel;

/**
 * 这个类主要职责:完成完成的程序业务逻辑;
 * 涉及到与底层数据交互的工作,交给Dao类去实现
 * @author dell
 *
 */
public class PaintingService {
	private PaintingDao paintingDao = new PaintingDao();
	/**
	 * 调用PaintingDao类的pagination()方法,获得分页数据;
	 * 这个类的内容看似和PageModel类的内容雷同,但是这个类还是必须的,在实际的开发中,需要遵从MVC原
	 * 则的按层逐级调用的规范;;;所以,即便没有其他的业务逻辑,我们也要写一个Service,然后让这个Service去调用Dao;
	 * @param page 当前第几页
	 * @param rows 每页有几条数据
	 * @return
	 */
	public PageModel pagination(int page,int rows) {
		if(rows == 0) {   // 可以看到,Service类中不但需要调用Dao来进行数据访问;
			// Service类还包括:一些前置条件的检查,以及得到调用结果后的后置数据的处理,这些工作都是与底层数据无关的
			// Service类中的方法用于处理完整的业务逻辑,Service类中方法需要尽量写的完整;
			// 而Dao中的方法只与底层数据进行交互的;;;
			// 所以,在这个例子中,即使Service类中的方法和Dao中的内容基本相同,也必须要要写这个Service类;
			throw new RuntimeException("无效的rows参数");
		}
		return paintingDao.pagination(page, rows);
	}
	
//	public static void main(String[] args) {   // 这个main方法,仅仅是开发时测试之用
//		PaintingService paintingService = new PaintingService();
//		PageModel pageModel = paintingService.pagination(2, 6);
//		List<Painting> paintingList = pageModel.getPageData();
//		for(Painting painting:paintingList) {
//			System.out.println(painting.getPname());
//		}
//		System.out.println(pageModel.getPageStartRow()+":"+pageModel.getPageEndRow());
//	}

}

PaintingServiceクラスのいくつかの説明:

(1) PaintingServiceクラス:完成したプログラムビジネスロジック。このクラスは、コントローラー部分に完全なサービスを提供します。

(2)コントローラーの要求が来た後、PaintingServiceクラスはパラメーターを受け入れ、パラメーターを前処理し、Daoパーツを呼び出して返されたデータを取得し、(必要に応じて)Daoから返されたデータに対して何らかの処理を行ってから送信する必要があります。それをコントローラーに;

(3) PaintingServiceは何の関係もありませんが、非常に単純です。Daoに似ていますが、このクラスを置き換えることはできません。PaintingServiceクラスに他のクラスを含める必要がある場合があるためです(データの取得に直接関係しない場合があります)。ビジネス処理、たとえば、上記のコードでは、rowsパラメータが0であるかどうかが判断されます。


その結果、モデルのサービス部分が開発されます。つまり、モデル部分が開発されます。

 

 

おすすめ

転載: blog.csdn.net/csucsgoat/article/details/114836768