1.必ずデザインモードを使う
17455 ワード
1.必ずデザインモードを使う
1. Spring MVC
MVC
2.J 2 EEデザインモデルとは?
デザインモード
この図は、ユーザの要求処理の手順に従って、上から下まで見ればよい.一番上はプレゼンテーション、真ん中はビジネス原稿、下はプレゼンテーションです.画面に近づくにつれ、DBなどのリポジトリに近づく.各パターンの特徴を簡単に理解するには、次のようにします.
ここでは、Service to WorkerモードとDispatcher Viewモードの意味が似ており、混同される可能性があります.クラス図から見ると、以下の違いがあります.
上記のグラフから、Dispatcher Viewモードの違いは、Helperクラスを直接制御しないことです.
パフォーマンスに関連するモードはどれですか?モードはいずれも直接または間接の性能と管理モードであり、J 2 EEモードの中で最も性能に密接なモードはService Locatorモードである.また、パフォーマンスに直接影響するわけではありませんが、アプリケーション開発時に使用しなければならないトランスポートオブジェクトモードも考慮する必要があります.
少なくとも、上記のモードのビジネス詳細、セッション接続、データアクセスObect、Service Locator、Transfer Objectモードについて理解する必要があります.パフォーマンスに関連するTransferオブジェクトとService Locatorモードについて説明します.
3.Transferオブジェクトモード
Value Objectと呼ばれるトランスポートオブジェクトは、データを転送するためのオブジェクトのモードである.まずTransfer Objectのサンプルソースコードを確認します.
package com.perf.pattern;
import java.io.Serializable;
public class EmployeeTO implements Serializable {
private String empName;
private String empID;
private String empPhone;
public EmployeeTO() {
super();
}
public EmployeeTO(String empName, String empID, String empPhone) {
this.empName = empName;
this.empID = empID;
this.empPhone = empPhone;
}
public String getEmpName() {
if(empName==null) return "";
else return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public String getEmpID() {
return empID;
}
public void setEmpID(String empID) {
this.empID = empID;
}
public String getEmpPhone() {
return empPhone;
}
public void setEmpPhone(String empPhone) {
this.empPhone = empPhone;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("empName=").append(empName).append("empID=").append(empID)
.append( " empPhone=").append(empPhone);
return sb.toString();
}
}
4.Service Locatorモード
package com.perf.pattern;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import javax.naming.InitialContext;
public class ServiceLocator {
private InitialContext ic;
private Map cache;
private static ServiceLocator me;
static {
me = new ServiceLocator();
}
private ServiceLocator() {
cache = Collections.synchronizedMap(new HashMap());
}
public InitialContext getInitialContext() throws Exception {
try {
if (ic == null) {
ic = new InitialContext();
}
} catch (Exception e) {
throw e;
}
return ic;
}
public static ServiceLocator getInstance() {
return me;
}
// ... 지면상 생략
}
Service Locatorモードは、以前よく使用されていたEJBのホームオブジェクトとDBのDataSource(検索時)の応答速度を低減するために使用されます.上記のソースコードを簡単に見ると、cacheというmapオブジェクトにプライマリオブジェクトが見つかった結果を保存し、メモリでオブジェクトを検索して提供できます.オブジェクトがcacheというマッピングに含まれていない場合は、メモリで検索します.リファレンス
Reference
この問題について(1.必ずデザインモードを使う), 我々は、より多くの情報をここで見つけました https://velog.io/@jsj3282/1.-디자인-패턴-꼭-써야-한다テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol