คุณต้องการเป็นนักพัฒนาซอฟต์แวร์แอปพลิเคชันหรือไม่? คุณต้องการสร้างแอปพลิเคชันของคุณเองบนแพลตฟอร์ม Force.com หรือไม่? หากคำตอบของคุณสำหรับคำถามเหล่านี้คือใช่คุณควรพิจารณาเป็นนักพัฒนา Salesforce อย่างแน่นอน
ในบล็อกก่อนหน้าของฉันฉันได้พูดถึง , การรับรอง Salesforce และยังแสดงให้คุณเห็น สร้างแอปพลิเคชันที่กำหนดเอง โดยใช้ตัวเลือกการประกาศที่มีอยู่ใน Salesforce ในบล็อกนี้ฉันจะพูดคุยเกี่ยวกับตัวเลือกแบบเป็นโปรแกรมที่มีอยู่ใน Salesforce เพื่อพัฒนาแอปพลิเคชันของคุณ
สถาปัตยกรรม MVC
ก่อนที่ฉันจะดำน้ำในการสร้างแอปพลิเคชันโดยใช้ Visualforce และ Apex ฉันจะพูดคุยเกี่ยวกับสถาปัตยกรรม Salesforce Model-View-Controller ก่อน ด้านล่างนี้เป็นแผนภาพที่สรุปสถาปัตยกรรม Salesforce Model-View-Controller พร้อมกับส่วนประกอบ Salesforce ต่างๆ
รุ่น: แบบจำลองคือออบเจ็กต์ข้อมูลฟิลด์และความสัมพันธ์ของ Salesforce ของคุณ ประกอบด้วยมาตรฐาน (บัญชีโอกาส ฯลฯ ) และวัตถุที่กำหนดเอง (วัตถุที่คุณสร้าง)
ดู: มุมมองแสดงถึงการนำเสนอข้อมูลนั่นคืออินเทอร์เฟซผู้ใช้ ใน Salesforce มุมมองประกอบด้วยหน้า Visualforce ส่วนประกอบเค้าโครงหน้าและแท็บ
ตัวควบคุม: คอนโทรลเลอร์เป็นส่วนประกอบพื้นฐานของตรรกะแอปพลิเคชันจริง คุณสามารถดำเนินการได้ทุกเมื่อที่ผู้ใช้โต้ตอบกับ visualforce
Salesforce ในการดำเนินการ
ในการเป็นนักพัฒนา Salesforce ก่อนอื่นคุณต้องทราบว่าแอปพลิเคชัน Salesforce ทำงานอย่างไร ด้านล่างนี้คือภาพ ซึ่งจะให้ภาพรวมของ Salesforce ในการดำเนินการ ลูกค้าหรือผู้ใช้ร้องขอหรือให้ข้อมูลกับแอปพลิเคชัน Salesforce โดยทั่วไปจะทำได้โดยใช้ Visualforce จากนั้นข้อมูลนี้จะถูกส่งต่อไปยังเลเยอร์ลอจิกของแอปพลิเคชันซึ่งเขียนด้วยเอเพ็กซ์ ขึ้นอยู่กับข้อมูลข้อมูลจะถูกแทรกหรือลบออกจากฐานข้อมูล Salesforce ยังให้คุณมีตัวเลือกในการใช้บริการเว็บเพื่อเข้าถึงตรรกะของแอปพลิเคชันโดยตรง
นักพัฒนา Salesforce สามารถเข้าถึงการพัฒนาได้โดยใช้ตัวเลือกที่เปิดเผยหรือแบบเป็นโปรแกรม ด้านล่างนี้เป็นภาพที่ให้รายละเอียดเกี่ยวกับวิธีการที่เปิดเผยและแบบเป็นโปรแกรมที่มีอยู่ในอินเทอร์เฟซผู้ใช้ตรรกะทางธุรกิจและเลเยอร์โมเดลข้อมูล ในการสร้างอินเทอร์เฟซผู้ใช้ของคุณคุณสามารถใช้วิธีการประกาศซึ่งใช้เค้าโครงเพจและประเภทเรกคอร์ดหรือใช้วิธีการแบบเป็นโปรแกรมเช่นหน้า Visualforce และส่วนประกอบ โดยทั่วไปคุณควรใช้วิธีการแบบเป็นโปรแกรมเฉพาะเมื่อคุณไม่สามารถบรรลุอินเทอร์เฟซผู้ใช้ที่จำเป็นโดยใช้วิธีการประกาศ ในการพัฒนาเลเยอร์ตรรกะทางธุรกิจของแอปพลิเคชันของคุณคุณสามารถใช้ตัวเลือกขั้นตอนการทำงานที่เปิดเผยของ Salesforce กฎการตรวจสอบและกระบวนการอนุมัติหรือใช้วิธีการแบบเป็นโปรแกรมเช่นทริกเกอร์ตัวควบคุมและคลาส ในการเข้าถึงแบบจำลองข้อมูลคุณสามารถใช้วิธีการประกาศโดยใช้วัตถุเขตข้อมูลและความสัมพันธ์ คุณยังสามารถเข้าถึงโมเดลข้อมูลโดยใช้โปรแกรมโดยใช้ metadata API, REST API และ Bulk API
เราได้เห็นวิธีการทำงานของแอปพลิเคชัน Salesforce สถาปัตยกรรม MVC ที่ใช้สำหรับการพัฒนาใน Salesforce และสองแนวทางที่แตกต่างกันที่มีให้สำหรับนักพัฒนา Salesforce ตอนนี้ให้ฉันพูดคุยเกี่ยวกับ Visualforce และ Apex
Visualforce
ในการสร้างแอปพลิเคชันบนแพลตฟอร์ม Salesforce คุณจำเป็นต้องรู้วิธีพัฒนาส่วนต่อประสานกับผู้ใช้และเขียนตรรกะของแอปพลิเคชัน ในฐานะนักพัฒนา Salesforce คุณสามารถพัฒนาส่วนติดต่อผู้ใช้โดยใช้ Visualforce Visualforce คือเฟรมเวิร์กส่วนติดต่อผู้ใช้สำหรับแพลตฟอร์ม Force.com เช่นเดียวกับวิธีที่คุณสามารถใช้ javascript Angular-JS framework เพื่อสร้างอินเทอร์เฟซผู้ใช้สำหรับเว็บไซต์ของคุณคุณสามารถใช้ Visualforce เพื่อออกแบบและสร้างอินเทอร์เฟซผู้ใช้สำหรับแอปพลิเคชัน Salesforce ของคุณ
คุณสามารถใช้ visualforce ได้ทุกเมื่อที่คุณต้องการสร้างเพจแบบกำหนดเอง ตัวอย่างสถานการณ์บางส่วนที่คุณสามารถใช้ Visualforce ได้แก่ :
- เพื่อสร้างเทมเพลตอีเมล
- เพื่อพัฒนาส่วนต่อประสานผู้ใช้มือถือ
- ในการสร้าง PDF ของข้อมูลที่จัดเก็บไว้ใน Salesforce
- เพื่อฝังลงในเค้าโครงเพจมาตรฐานของคุณ
- เพื่อลบล้างเพจ Salesforce มาตรฐาน
- เพื่อพัฒนาแท็บที่กำหนดเองสำหรับแอปพลิเคชันของคุณ
หน้า Visualforce ประกอบด้วยสององค์ประกอบหลัก:
- Visualforce Markup - มาร์กอัป Visualforce ประกอบด้วยแท็ก visualforce, HTML, JavaScript หรือโค้ดที่เปิดใช้งานเว็บอื่น ๆ
- Visualforce Controller - ตัวควบคุม Visualforce มีคำแนะนำที่ระบุสิ่งที่เกิดขึ้นเมื่อผู้ใช้โต้ตอบกับส่วนประกอบ ตัวควบคุม Visualforce เขียนโดยใช้ภาษาโปรแกรม Apex
คุณสามารถดูโค้ดหน้า Visualforce แบบธรรมดาพร้อมกับส่วนประกอบต่างๆด้านล่าง:
ด้านล่างนี้ฉันได้แสดงขั้นตอนในการเขียนหน้า Visualforce อย่างง่ายสำหรับการแสดงประเทศและค่าเงินของพวกเขา:
ขั้นตอนที่ 1: จากการตั้งค่าให้ป้อน Visualforce Pages ในช่อง Quick Find จากนั้นเลือก Visualforce Pages แล้วคลิกสร้าง
ขั้นตอนที่ 2: ในตัวแก้ไขเพิ่มรหัสต่อไปนี้เพื่อแสดงประเทศและค่าสกุลเงิน:
เอเพ็กซ์
เมื่อคุณพัฒนาอินเทอร์เฟซผู้ใช้เสร็จเรียบร้อยแล้วในฐานะนักพัฒนา Salesforce คุณจำเป็นต้องรู้วิธีเพิ่มตรรกะที่กำหนดเองให้กับแอปพลิเคชันของคุณ คุณสามารถเขียนโค้ดคอนโทรลเลอร์และเพิ่มตรรกะที่กำหนดเองให้กับแอปพลิเคชันของคุณโดยใช้ภาษาโปรแกรมเอเพ็กซ์ Apex เป็นภาษาการเขียนโปรแกรมเชิงวัตถุที่ช่วยให้คุณสามารถดำเนินการคำสั่งควบคุมโฟลว์และธุรกรรมบนแพลตฟอร์ม Force.com หากคุณเคยใช้ภาษาการเขียนโปรแกรม java มาก่อนคุณสามารถเรียนรู้ Apex ได้อย่างง่ายดาย ไวยากรณ์ของเอเพ็กซ์นั้นคล้ายกับจาวา 70%
คุณสามารถใช้ Apex ได้ทุกเมื่อที่คุณต้องการเพิ่มตรรกะที่กำหนดเองให้กับแอปพลิเคชันของคุณ ตัวอย่างสถานการณ์ที่คุณสามารถใช้ Apex ได้แก่ :
- เมื่อคุณต้องการเพิ่มบริการเว็บและอีเมลในแอปพลิเคชันของคุณ
- เมื่อคุณต้องการดำเนินกระบวนการทางธุรกิจที่ซับซ้อน
- เมื่อคุณต้องการเพิ่มกฎการตรวจสอบที่ซับซ้อนให้กับแอปพลิเคชันของคุณ
- เมื่อคุณต้องการเพิ่มตรรกะที่กำหนดเองในการดำเนินการเช่นการบันทึกเรกคอร์ด
ด้านล่างนี้เป็นภาพหน้าจอของโค้ด Apex พร้อมกับส่วนประกอบต่างๆเช่นคำสั่งวนซ้ำคำสั่งควบคุมโฟลว์และแบบสอบถาม SOQL:
ตอนนี้เราเข้าใจแล้วว่า Apex คืออะไรและควรใช้เมื่อใดขอให้ฉันเจาะลึกลงไปในโปรแกรม Apex
การเขียนโปรแกรมในเอเพ็กซ์
หากคุณเข้าใจแนวคิดที่อธิบายไว้ข้างต้นแสดงว่าคุณมาถึงครึ่งทางของการเป็นนักพัฒนา Salesforce แล้ว ในส่วนนี้ฉันจะเจาะลึกลงไปใน Apex โดยให้ข้อมูลเกี่ยวกับประเภทข้อมูลและตัวแปรต่างๆวิธีการดึงข้อมูลจากฐานข้อมูลต่างๆและแสดงวิธีการเขียนคลาสและวิธีการ
ประเภทข้อมูลและตัวแปร
Salesforce นำเสนอข้อมูล 4 ประเภทและตัวแปรให้คุณ ตารางด้านล่างนี้ให้ข้อมูลเกี่ยวกับประเภทข้อมูลทั้ง 4 ประเภท:
ประเภทข้อมูลและตัวแปร | คำอธิบาย | ตัวอย่าง |
ดึกดำบรรพ์ | ชนิดข้อมูลพื้นฐานใน Salesforce ได้แก่ บูลีนวันที่จำนวนเต็มวัตถุสตริงและเวลา | บูลีน isSunny = จริง จำนวนเต็ม I = 1 String myString =“ สวัสดีชาวโลก” |
sObjects | sObject หมายถึงวัตถุใด ๆ ที่สามารถเก็บไว้ในฐานข้อมูล | บัญชี a = บัญชีใหม่ () MyCustomObj__c obj = MyCustomObj__c ใหม่ () |
คอลเลกชัน | Apex มีคอลเล็กชันประเภทต่อไปนี้:
| รายการ var_lst = รายการใหม่ () ตั้ง setOne = ชุดใหม่ () แผนที่ var_map = แผนที่ใหม่ () |
Enums | Enums เป็นชนิดข้อมูลนามธรรมที่มีค่าที่ใช้กับชุดตัวระบุที่ จำกัด | Public enum Seasons {Winter, Spring, Summer, Fall} |
SOQL และ SOSL
การพัฒนาซอฟต์แวร์แอปพลิเคชันคุณต้องรู้วิธีแทรกและดึงข้อมูลจากฐานข้อมูล ใน Salesforce คุณสามารถดึงข้อมูลจากฐานข้อมูลโดยใช้ SOQL และ SOSL หากคุณต้องการเป็นนักพัฒนา Salesforce คุณต้องรู้ภาษาของข้อความค้นหาทั้งสองนี้ ฉันได้ให้คำอธิบายโดยละเอียดเกี่ยวกับภาษาเหล่านี้แก่คุณด้านล่าง:
- SOQL ย่อมาจาก Salesforce Object Query Language การใช้คำสั่ง SOQL คุณสามารถดึงข้อมูลจากฐานข้อมูลเป็นรายการ sObjects, sObject เดียวหรือจำนวนเต็มสำหรับวิธีการนับ คุณสามารถคิดว่า SOQL เทียบเท่าคิวรี SELECT SOQL ฉันได้ให้ตัวอย่างของแบบสอบถาม SOQL ด้านล่าง:
List accList = [SELECT Id, Name FROM Account WHERE Name =” YourName”]
- SOSL ย่อมาจาก Salesforce Object Search Language คุณสามารถใช้คำสั่ง SOSL เพื่อดึงรายการ sObjects โดยแต่ละรายการมีผลการค้นหาสำหรับประเภท sObject เฉพาะ คุณสามารถคิดว่า SOSL เทียบเท่ากับคำค้นหาฐานข้อมูล ฉันได้ให้ตัวอย่างของแบบสอบถาม SOSL ด้านล่าง:
รายการ
searchList = [ค้นหา 'แผนที่ *' ในทุกสาขาที่ส่งคืนบัญชี (รหัส, ชื่อ), ผู้ติดต่อ, โอกาส, โอกาสในการขาย]
คุณสามารถใช้ SOQL เมื่อคุณรู้ว่าออบเจ็กต์ใดอยู่ในข้อมูลและใช้ SOSL เมื่อคุณไม่ทราบชื่อของวัตถุที่ข้อมูลนั้นอยู่
ชั้นเรียนและวิธีการ
เช่นเดียวกับภาษาการเขียนโปรแกรมเชิงวัตถุอื่น ๆ คุณสามารถพัฒนาคลาสและวิธีการโดยใช้ Apex คุณสามารถคิดว่าคลาสเป็นพิมพ์เขียวโดยใช้วัตถุแต่ละชิ้นที่สร้างและใช้ คุณสามารถคิดว่าวิธีการเป็นโปรแกรมย่อยซึ่งทำหน้าที่กับข้อมูลและส่งคืนค่า ฉันได้ให้ไวยากรณ์แก่คุณเพื่อเขียนคลาสและวิธีการด้านล่าง:
ตอนนี้ฉันจะแสดงวิธีเพิ่มคลาสและวิธีการใน Apex:
ขั้นตอนที่ 1: จากการตั้งค่าให้ป้อน Apex Classes ใน QuickFind Box จากนั้นเลือก Apex Classes แล้วคลิก New
ขั้นตอนที่ 2: ในตัวแก้ไขเพิ่มนิยามคลาสต่อไปนี้:
คลาสสาธารณะ HelloWorld {
}
ขั้นตอนที่ 3: เพิ่มนิยามวิธีการระหว่างวงเล็บเปิดคลาสและปิด:
โมฆะคงที่สาธารณะ helloWorldMethod (Country__c [] ประเทศ) {
สำหรับ (Country__c country: countries) {
country.currency_value__c * = 1.5
}
}
ขั้นตอนที่ 4: คลิกที่บันทึกและคุณควรมีชั้นเรียนทั้งหมดเป็น:
คลาสสาธารณะ HelloWorld {
โมฆะคงที่สาธารณะ helloWorldMethod (Country__c [] ประเทศ) {
สำหรับ (Country__c country: countries) {
country.currency_value__c * = 1.5
}
}
คุณสามารถใช้ไวยากรณ์และตัวอย่างที่แสดงด้านบนเพื่อพัฒนาคลาสและวิธีการของคุณเองสำหรับแอปพลิเคชัน Salesforce ของคุณ ในการเป็นนักพัฒนา Salesforce คุณจำเป็นต้องรู้มากกว่าแค่การเขียนคลาสและวิธีการ ในสองสามส่วนถัดไปฉันจะพูดถึงหัวข้อที่ทำให้การพัฒนาแอปพลิเคชันบนแพลตฟอร์ม Salesforce เป็นเรื่องง่ายและสะดวก
ทริกเกอร์
นักพัฒนา Salesforce ทุกคนต้องทราบแนวคิดของทริกเกอร์ Salesforce ก่อนหน้านี้คุณอาจเจอทริกเกอร์ขณะทำงานกับฐานข้อมูลอื่น ทริกเกอร์ไม่ใช่อะไรนอกจากโปรแกรมที่จัดเก็บไว้ซึ่งจะถูกเรียกใช้เมื่อคุณดำเนินการก่อนหรือหลังการเปลี่ยนแปลงระเบียน Salesforce ตัวอย่างเช่นทริกเกอร์สามารถรันก่อนที่จะดำเนินการแทรกหรือเมื่อดำเนินการอัพเดต ทริกเกอร์มีสองประเภท:
- ก่อนทริกเกอร์ - คุณสามารถใช้ก่อนทริกเกอร์เพื่ออัปเดตหรือตรวจสอบความถูกต้องของค่าบันทึกก่อนที่จะบันทึกลงในฐานข้อมูล
- หลังจากทริกเกอร์ - คุณสามารถใช้หลังจากทริกเกอร์เพื่อเข้าถึงค่าฟิลด์ที่ระบบกำหนดและเพื่อส่งผลต่อการเปลี่ยนแปลงในเรกคอร์ดอื่น ๆ
ทริกเกอร์ถูกดำเนินการก่อนหรือหลังการดำเนินการด้านล่าง:
- แทรก
- อัปเดต
- ลบ
- ไป
- อ๊ะ
- ยกเลิกการลบ
ฉันจะแสดงวิธีเพิ่มทริกเกอร์ในเอเพ็กซ์โดยการเพิ่มทริกเกอร์สำหรับอ็อบเจ็กต์ประเทศที่คุณเห็นในคลาสด้านบน:
ขั้นตอนที่ 1: จากการตั้งค่าการจัดการวัตถุสำหรับประเทศไปที่ทริกเกอร์แล้วคลิกใหม่
ขั้นตอนที่ 2: ในตัวแก้ไขทริกเกอร์เพิ่มนิยามทริกเกอร์ต่อไปนี้:
ทริกเกอร์ HelloWorldTrigger บน Country__c (ก่อนแทรก) {
Country__c ประเทศ = Trigger.new
HelloWorld.helloWorldMethod (ประเทศ)
}
รหัสด้านบนจะอัปเดตสกุลเงินของประเทศของคุณก่อนที่จะแทรกลงในฐานข้อมูลทุกครั้ง
ขีด จำกัด ของผู้ว่าการ
คุณอาจทราบว่า Salesforce ทำงานบนสถาปัตยกรรมแบบผู้เช่าหลายรายซึ่งหมายความว่ามีการแชร์ทรัพยากรระหว่างลูกค้าที่แตกต่างกัน เพื่อให้แน่ใจว่าไม่มีไคลเอ็นต์รายใดผูกขาดทรัพยากรที่ใช้ร่วมกัน Apex run-time engine จะบังคับใช้ขีด จำกัด ของ Governor อย่างเคร่งครัด หากรหัสเอเพ็กซ์ของคุณเกินขีด จำกัด ผู้ว่าการที่คาดไว้จะออกข้อยกเว้นรันไทม์ที่ไม่สามารถจัดการได้ ดังนั้นในฐานะนักพัฒนา Salesforce คุณต้องระมัดระวังอย่างมากในการพัฒนาแอปพลิเคชันของคุณ
ผนวกหมายถึงอะไรใน java
การดำเนินงานจำนวนมาก
ในฐานะนักพัฒนา Salesforce คุณต้องแน่ใจเสมอว่ารหัสของคุณรักษาขีด จำกัด ของผู้ว่าการรัฐ เพื่อให้แน่ใจว่าเอเพ็กซ์ปฏิบัติตามขีด จำกัด ของผู้ว่าการรัฐคุณต้องใช้รูปแบบการออกแบบการโทรจำนวนมาก การดำเนินการจำนวนมากหมายถึงการคอมมิตมากกว่าหนึ่งเรกคอร์ดเมื่อคุณทำการดำเนินการ DML ก่อนที่คุณจะดำเนินการ DML คุณต้องแน่ใจเสมอว่าคุณได้เพิ่มแถวลงในคอลเลกชันแล้ว ด้านล่างนี้เป็นรูปภาพที่ให้คำอธิบายที่สมบูรณ์เกี่ยวกับรูปแบบการออกแบบการดำเนินการจำนวนมาก
DML และการดำเนินการข้อมูล
คุณได้เห็นวิธีการดึงข้อมูลจากฐานข้อมูลก่อนหน้านี้โดยใช้แบบสอบถาม SOQL และ SOSL ตอนนี้เรามาดูคำสั่งต่างๆที่คุณสามารถใช้เพื่อแทรกข้อมูลลงในฐานข้อมูล Salesforce สำหรับนักพัฒนา Salesforce จำเป็นต้องทราบว่าข้อความเหล่านี้สามารถทำอะไรได้บ้างและใช้อย่างไร
คำชี้แจง DML | คำอธิบาย |
แทรก | เพิ่ม sObjects อย่างน้อยหนึ่งรายการในข้อมูลขององค์กรของคุณ |
อัปเดต | แก้ไขระเบียน sObject ที่มีอยู่ตั้งแต่หนึ่งรายการขึ้นไป |
อ๊ะ | สร้างระเบียนใหม่และอัปเดตระเบียน sObject |
ลบ | ลบระเบียน sObject ที่มีอยู่ตั้งแต่หนึ่งรายการขึ้นไป |
ยกเลิกการลบ | กู้คืนระเบียน sObject ที่มีอยู่ตั้งแต่หนึ่งรายการขึ้นไป |
ไป | รวมระเบียนที่มีประเภท sObject เดียวกันไม่เกินสามรายการเป็นระเบียนเดียว |
Visualforce และ Apex
คุณมีหนทางมายาวนานในการเป็นนักพัฒนา Salesforce ต่อไปฉันจะพูดถึงวิธีที่คุณสามารถรวมหน้า Visualforce และโค้ดเอเพ็กซ์ของคุณ คุณสามารถเชื่อมต่อเพจวิชวลฟอร์ซกับโค้ดเอเพ็กซ์ของคุณได้โดยใช้คอนโทรลเลอร์และส่วนขยาย
ตัวควบคุมแบบกำหนดเอง -เมื่อคุณต้องการให้เพจ visualforce ของคุณทำงานในโหมดระบบทั้งหมดนั่นคือไม่มีสิทธิ์และความปลอดภัยระดับฟิลด์ให้ใช้ตัวควบคุมที่กำหนดเอง
ส่วนขยายคอนโทรลเลอร์ -เมื่อคุณต้องการเพิ่มการกระทำหรือฟังก์ชันใหม่ที่ขยายการทำงานของคอนโทรลเลอร์มาตรฐานหรือแบบกำหนดเองให้ใช้ส่วนขยายตัวควบคุม
ในโค้ดด้านล่างฉันได้แสดงวิธีรวมคอนโทรลเลอร์ที่กำหนดเองไว้ในหน้า visualforce ของคุณ:
ในโค้ดด้านล่างฉันได้แสดงวิธีรวมส่วนขยายคอนโทรลเลอร์ในหน้า Visualforce ของคุณ:
การจัดการข้อยกเว้น
หากคุณเคยพัฒนาแอปพลิเคชันมาก่อนคุณจะต้องเจอข้อยกเว้นอย่างแน่นอน ข้อยกเว้นคือเงื่อนไขพิเศษที่เปลี่ยนแปลงขั้นตอนปกติของการทำงานของโปรแกรม ตัวอย่างเช่นการหารตัวเลขด้วยศูนย์หรือการเข้าถึงค่ารายการที่อยู่นอกขอบเขต หากคุณไม่จัดการข้อยกเว้นเหล่านี้การดำเนินการของกระบวนการจะหยุดลงและ DML จะถูกย้อนกลับ
ในฐานะนักพัฒนา Salesforce คุณจำเป็นต้องรู้วิธีรับข้อยกเว้นเหล่านี้และสิ่งที่ต้องทำเมื่อคุณจับได้ ในการจับข้อยกเว้นคุณสามารถใช้การลองจับและสร้างในที่สุด เมื่อคุณพบข้อยกเว้นแล้วคุณสามารถจัดการได้ด้วยวิธีที่กล่าวถึงด้านล่าง:
ข้อยกเว้น | วิธีจัดการ |
DML | ใช้เมธอด addError () บนเรกคอร์ดหรือฟิลด์ |
Visualforce | ใช้คลาส ApexPages.message |
การส่งอีเมลยกเว้น | คุณสามารถแจ้งผู้พัฒนาทางอีเมล |
เข้าสู่ระบบวัตถุที่กำหนดเอง | คุณสามารถใช้วิธีการในอนาคตเพื่อจับวัตถุที่กำหนดเอง |
จนถึงตอนนี้ในบล็อกนักพัฒนา Salesforce คุณได้เห็นวิธีการพัฒนาส่วนต่อประสานผู้ใช้ของคุณโดยใช้ Visualforce คุณได้เห็นวิธีการเขียนตรรกะที่กำหนดเองโดยใช้ Apex และแนวคิดต่างๆเช่นทริกเกอร์การดำเนินการจำนวนมากและการจัดการข้อยกเว้น สุดท้าย แต่ไม่ท้ายสุดเราจะดูกรอบการทดสอบของ Salesforce
การทดสอบ
ในฐานะนักพัฒนา Salesforce คุณจำเป็นต้องรู้วิธีทดสอบโค้ดที่คุณเขียน การพัฒนาด้วยการทดสอบเป็นวิธีที่ดีในการรับประกันความสำเร็จในระยะยาวของแอปพลิเคชันซอฟต์แวร์ของคุณ คุณต้องทดสอบแอปพลิเคชันของคุณเพื่อให้สามารถตรวจสอบได้ว่าแอปพลิเคชันของคุณทำงานได้ตามที่คาดไว้ โดยเฉพาะอย่างยิ่งหากคุณกำลังพัฒนาแอปพลิเคชันสำหรับลูกค้าการทดสอบก่อนส่งมอบผลิตภัณฑ์ขั้นสุดท้ายเป็นสิ่งสำคัญมาก Apex มีกรอบการทดสอบที่ช่วยให้คุณเขียนการทดสอบหน่วยเรียกใช้การทดสอบตรวจสอบผลการทดสอบและมีผลการครอบคลุมโค้ด
คุณสามารถทดสอบแอปพลิเคชันของคุณได้สองวิธี:
- ผ่านอินเทอร์เฟซผู้ใช้ Salesforce วิธีการทดสอบนี้มีความสำคัญ แต่จะไม่ตรงตามกรณีการใช้งานทั้งหมดสำหรับแอปพลิเคชันของคุณ
- คุณสามารถทดสอบการทำงานจำนวนมากโดยสามารถส่งผ่านรหัสของคุณได้ถึง 200 ระเบียนโดยใช้ SOAP API หรือตัวควบคุมชุดมาตรฐานของ Visualforce
คลาสทดสอบไม่มีข้อมูลใด ๆ กับฐานข้อมูลและใส่คำอธิบายประกอบด้วย @isTest ฉันได้แสดงวิธีเพิ่มคลาสทดสอบโดยการเพิ่มคลาสทดสอบในคลาส HelloWorld ด้านล่าง:
@isTest
คลาสส่วนตัว HelloWorldTestClass {
static testMethod เป็นโมฆะ validateHelloWorld () {
Country__c ประเทศ = Country__c ใหม่ (ชื่อ =” อินเดีย”, currency_value__c = 50.0)
แทรกประเทศ
ประเทศ = [SELECT currency_value__c FROM Country WHERE Id = country.Id]
System.assertEquals (75, country.currency_value__c)
}
}
ฉันหวังว่าคุณจะเข้าใจแนวคิดทั้งหมดที่คุณจำเป็นต้องรู้ในการเป็นนักพัฒนา Salesforce หากต้องการเจาะลึกรายละเอียดเพิ่มเติมโปรดชำระเงินของเรา ซึ่งมาพร้อมกับผู้สอนนำการฝึกอบรมสดและประสบการณ์โครงการในชีวิตจริง หากคุณมีความคิดเห็นโปรดทิ้งไว้ในช่องแสดงความคิดเห็นด้านล่าง