<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ECIF on Zhuifeng Notes</title><link>https://0607501b.wangpeng.pages.dev/en/tags/ecif/</link><description>Recent content in ECIF on Zhuifeng Notes</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 12 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://0607501b.wangpeng.pages.dev/en/tags/ecif/index.xml" rel="self" type="application/rss+xml"/><item><title>Applying DDD Aggregates in a Banking ECIF</title><link>https://0607501b.wangpeng.pages.dev/en/architecture/ddd-aggregate/</link><pubDate>Wed, 12 Aug 2026 00:00:00 +0000</pubDate><guid>https://0607501b.wangpeng.pages.dev/en/architecture/ddd-aggregate/</guid><description>&lt;p&gt;In an ECIF, the concept of &amp;ldquo;customer&amp;rdquo; is huge: retail, corporate, and interbank clients each have different attributes, relationships, and lifecycles. Forcing them into one giant &lt;code&gt;Customer&lt;/code&gt; entity makes the code rot fast.&lt;/p&gt;&#10;&lt;h2 id="slice-by-bounded-context"&gt;Slice by bounded context&lt;/h2&gt;&#10;&lt;p&gt;Split the customer across bounded contexts:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Party (master data)&lt;/strong&gt;: unified natural-person / institution identity and base attributes.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Profile&lt;/strong&gt;: risk appetite, marketing tags — high read/write churn.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Relationship&lt;/strong&gt;: shareholding, guarantee, and group relationships.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="where-the-aggregate-root-goes"&gt;Where the aggregate root goes&lt;/h2&gt;&#10;&lt;p&gt;Each context defines its own aggregate root. In Party, &lt;code&gt;Party&lt;/code&gt; is the root; &lt;code&gt;Address&lt;/code&gt; and &lt;code&gt;Contact&lt;/code&gt; are value objects, keeping cross-aggregate calls out of the consistency boundary.&lt;/p&gt;</description></item><item><title>ECIF in one read — why customer data must be centralized</title><link>https://0607501b.wangpeng.pages.dev/en/banking/ecif-overview/</link><pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate><guid>https://0607501b.wangpeng.pages.dev/en/banking/ecif-overview/</guid><description>&lt;p&gt;Before ECIF, branches, internet banking, and the card center each kept their own customer records. The same person appeared with different names, IDs, and contacts across systems — making both marketing and risk control impossible.&lt;/p&gt;&#10;&lt;h2 id="what-ecif-solves"&gt;What ECIF solves&lt;/h2&gt;&#10;&lt;p&gt;ECIF (Enterprise Customer Information Facility) consolidates customer master data scattered across business systems into one place, exposing a &lt;strong&gt;single customer view&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Unique identity&lt;/strong&gt;: a Party ID unifies natural persons / institutions, not the ID number.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Primary/secondary&lt;/strong&gt;: supports one person many accounts, one account many cards, with unique master data.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Service-oriented&lt;/strong&gt;: other systems query via interfaces instead of keeping their own copies.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="key-technical-trade-offs"&gt;Key technical trade-offs&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Read/write split&lt;/strong&gt;: master writes are strongly consistent; queries can hit cache / read replicas.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Auditable changes&lt;/strong&gt;: customer changes are traced to satisfy regulatory audits.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;ECIF is not &amp;ldquo;yet another database&amp;rdquo; — it is the bedrock of bank digitalization.&lt;/p&gt;</description></item></channel></rss>