Ahmed Aljaberi
Ahmed Aljaberi

@ahmed_aljabri

4 تغريدة 10 قراءة May 07, 2020
لما تحلل نظام حاول تشوفه من 3 جوانب , إما Nouns انه فيه منتجات و عملاء و طلبات تتحول كلاسات عندها UML هي خيارك كأداة. و ممكن تشوفه كـCommands عندها ممكن UML او Event Storming و ممكن تشوف النظام كـEvents عندها Event Storming او الActor Model ( سلسلة صغيرة )
موقع مثل امازون واجهته مخيفه لكن لاحظ ان عبارة عن Queries و الQueries ما تعطيك حجم تعقيد النظام, الEvents أهم و الEvents تحتاج Commands تنتجها. هذا غير انظمة كبيرة مثل هذي هي في الاصل مجموعة انظمة مختلفة تماماً وحدتها الUI لك و اعطتك وهم انها نظام واحد.
اختيارك للArchitecture المناسبة تعتمد على محددات غير تقنية, مثل عدد الtransactions في الثانية , اذا مئات روح N-Layers اذا الاف روح DDD مع CQRS اذا ملايين في الثانية روح DDD مع Event Sourcing و استخدم streaming platform مثل Kafka او RabbitMQ.
التكلفة مهمة و من غير المنطقي تستثمر في Architecture مكلفة و انت لسا في البداية, ايضاً مراعاة الفريق و خبرته و اعطائهم دعم و وقت للتعلم لانهم بالنسبة لك هم Domain Experts لا يمكن تعويضهم بسهولة بواسطة الOut sourcing.

جاري تحميل الاقتراحات...