Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ApexでPofEAA / PofEAA by Apex

ApexでPofEAA / PofEAA by Apex

Yuichi Maekawa

November 26, 2021
Tweet

More Decks by Yuichi Maekawa

Other Decks in Programming

Transcript

  1. Apexで
    PofEAA
    kaelaela

    View Slide

  2. Maekawa Yuichi
    @_kaelaela
    Software Engineer@
    https://thealp.co.jp/

    View Slide

  3. https://www.salesforce.com/plus/experience/Dreamforce_2021/series/Developer/episode/episode-3

    View Slide

  4. エンタープライズスケールなApexとは?
    (動画より)
    Writing Apex For Enterprise Scale
    - Bulk Safe
    - Reusable
    - Secure
    - Accessible
    - Unit Test

    View Slide

  5. ざっと内容のまとめ
    - Apex-Recipes
    - https://github.com/trailheadapps/apex-recipes
    - Quick Start:
    https://trailhead.salesforce.com/ja/content/learn/projects/quick-start-explore-the-apex-recipes-sample-app
    - User Mode Data Operations(便利そう)
    - DataWeave in Apex
    所感
    - まだまだApex使っていくぞ!という意思を感じました
    - モダンな言語のようなアップデートお待ちしております
    - エンタープライズアプリケーションに必要なApexのイメージはついた

    View Slide

  6. エンタープライズ...?

    View Slide

  7. こういうものもある
    https://www.enterpriseready.io/

    View Slide

  8. こういうものもある
    https://www.enterpriseready.io/

    View Slide

  9. ソフトウェアでいうエンタープライズ
    エンタープライズアプリケーションとは? => PofEAAだ!
    PofEAA: Patterns of Enterprise Application Architecture
    一言でいうと?>大規模システム向けの設計パターン集
    パターン集の日本語訳あります: https://bliki-ja.github.io/pofeaa/
    これをApexで実装出来たらいいなあ...

    View Slide

  10. できます👏

    View Slide

  11. Apexエンタープライズパターン
    https://trailhead.salesforce.com/ja/content/learn/modules/apex_patterns_dsl

    View Slide

  12. インストール

    View Slide

  13. fflib_SObjectDomainなどを使ってドメインモデル作成

    View Slide

  14. 注意
    ライブラリのバグいくつかあり
    - securityUtilsに固定値実装でテスト落ちるなど
    プラットフォームイベント使います(EnterpriseEdition以降対象)
    Apexクラスめっちゃ増えます
    test長くなります

    View Slide

  15. 告知
    Japan Dreamin’ 2022に登壇いたします

    View Slide

  16. 管理パッケージ開発のノウハウすべて出します
    - 1GPでゴリゴリにCIを使った開発環境(GitHub Actions)
    - ローカル開発環境構築
    - lint/test
    - QA環境へのデプロイ
    - リリース・デリバリー
    - リファクタリングプロジェクト
    - Apex / LWCの大規模システムレベルの設計
    Thank you!

    View Slide