領域驅動設計案例之業務實現1

來源:互聯網
上載者:User

標籤:

 業務上主要實現產品的建立,客戶的建立、下訂單的業務,這裡主要示範領域驅動設計的思想與一些最佳實務如何體現到領域的實現中,代碼中的一些

Bug或瑕疵不用太過理會。

在DDD.Doman項目中實現相應的彙總根、實體與值對象。

這篇文章主要實現客戶的建立,因為通過Model-First已經建立了領域模型,所以我們建立部分類別來實現領域對象的商務邏輯部分。

public partial class Customer:AggreateRoot    {        private IRepository<Customer> irepository;        public Customer(IRepository<Customer> irepository)        {            this.irepository = irepository;        }        public void CreateCustomer(string name,string mobile,string state,string city,            string street)        {            Customer customer = new Customer();            customer.Id = base.Id;            customer.Name = name;            customer.Mobile = mobile;            addcustomeraddress(customer, state, city, street);            irepository.Create(customer);        }        private void addcustomeraddress(Customer customer,string state,string city,string street)        {            var address = new Address(state, city, street);            customer.Address.Add(address);        }        public void AddCustomerOtherAddress(Customer customer,string state,string city,            string street)        {            addcustomeraddress(customer, state, city, street);            irepository.Update(customer);        }        public Customer GetCustomerByName(string name)        {            return irepository.GetByCondition(p => p.Name == name).FirstOrDefault();        }    }
 public partial class Address:ValueObject    {        public Address(string state,string city,string street)        {            this.Id = base.Id;            this.State = state;            this.City = city;            this.Street = street;        }    }

 

領域驅動設計案例之業務實現1

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.