نظرسنجیهای حقوق در سراسر جهان به طور منظم معمار نرمافزار را در بین ۱۰ شغل برتر قرار میدهند، با این حال هیچ راهنمای واقعی برای کمک به توسعهدهندگان برای تبدیل شدن به معمار وجود ندارد. تا به امروز. این کتاب اولین نمای کلی جامع از جنبههای متعدد معماری نرمافزار را ارائه میدهد. معماران مشتاق و موجود به طور یکسان ویژگیهای معماری، الگوهای معماری، تعیین کامپوننتها، ترسیم و ارائه معماری، معماری تکاملی و بسیاری موضوعات دیگر را بررسی خواهند کرد. مارک ریچاردز و نیل فورد، متخصصان عملی که سالها کلاسهای معماری نرمافزار را به صورت حرفهای تدریس کردهاند، بر اصول معماری تمرکز میکنند که در تمام پشتههای فناوری کاربرد دارند. شما معماری نرمافزار را در پرتو مدرن، با در نظر گرفتن تمام نوآوریهای دهه گذشته، بررسی خواهید کرد. این کتاب موارد زیر را بررسی میکند: * الگوهای معماری: مبنای فنی بسیاری از تصمیمات معماری * کامپوننتها: شناسایی، اتصال (Coupling)، انسجام (Cohesion)، پارتیشنبندی و دانهبندی * مهارتهای نرم: مدیریت مؤثر تیم، جلسات، مذاکره، ارائهها و موارد دیگر * مدرنیته: شیوههای مهندسی و رویکردهای عملیاتی که در چند سال گذشته به طور اساسی تغییر کردهاند * معماری به عنوان یک رشته مهندسی: نتایج تکرارپذیر، معیارها و ارزیابیهای ملموس که دقت را به معماری نرمافزار اضافه میکنند
اشتراکی

با مرور فصلها، ساختار ، محتوای کتاب را به سرعت بشناسید.
با مرور فصلهای این کتاب میتونی خیلی سریع بفهمی هر بخش چی یاد میده، ساختار کلی چطوره و از کجا باید شروع کنی. هر فصل روی یک مفهوم یا مهارت خاص تمرکز داره و موضوعات اصلیش رو میبینی تا انتخابت آگاهانهتر باشه. چه بخوای کل کتاب رو دنبال کنی، چه فقط یک بخش خاص رو دنبال کنی، این نما کمکت میکنه مسیرت رو پیدا کنی.

مقدمه
Defining Software Architecture • Expectations of an Architect • Make Architecture Decisions • Continually Analyze the Architecture • Keep Current with Latest Trends • Ensure Compliance with Decisions • Diverse Exposure and Experience • Have Business Domain Knowledge • Possess Interpersonal Skills • Understand and Navigate Politics • Intersection of Architecture and… • Engineering Practices • Operations/DevOps • Process • Data • Laws of Software Architecture
درحال تولید...
برای درک بدهبستانهای (Trade-off) مهم در معماری، توسعهدهندگان باید برخی مفاهیم و اصطلاحات اساسی مربوط به کامپوننتها، ماژولار بودن، اتصال (Coupling) و همزادگی (Connascence) را درک کنند.

تفکر معماری
Architecture Versus Design • Technical Breadth • Analyzing Trade-Offs • Understanding Business Drivers • Balancing Architecture and Hands-On Coding
درحال تولید...

ماژولار بودن
Definition • Measuring Modularity • Cohesion • Coupling • Abstractness, Instability, and Distance from the Main Sequence • Distance from the Main Sequence • Connascence • Unifying Coupling and Connascence Metrics • From Modules to Components
درحال تولید...

تعریف ویژگیهای معماری
Architectural Characteristics (Partially) Listed • Operational Architecture Characteristics • Structural Architecture Characteristics • Cross-Cutting Architecture Characteristics • Trade-Offs and Least Worst Architecture
درحال تولید...

شناسایی ویژگیهای معماری
Extracting Architecture Characteristics from Domain Concerns • Extracting Architecture Characteristics from Requirements • Case Study: Silicon Sandwiches • Explicit Characteristics • Implicit Characteristics
درحال تولید...

اندازهگیری و مدیریت ویژگیهای معماری
Measuring Architecture Characteristics • Operational Measures • Structural Measures • Process Measures • Governance and Fitness Functions • Governing Architecture Characteristics • Fitness Functions
درحال تولید...

محدوده ویژگیهای معماری
Coupling and Connascence • Architectural Quanta and Granularity • Case Study: Going, Going, Gone
درحال تولید...

تفکر مبتنی بر کامپوننت
Component Scope • Architect Role • Architecture Partitioning • Case Study: Silicon Sandwiches: Partitioning • Developer Role • Component Identification Flow • Identifying Initial Components • Assign Requirements to Components • Analyze Roles and Responsibilities • Analyze Architecture Characteristics • Restructure Components • Component Granularity • Component Design • Discovering Components • Case Study: Going, Going, Gone: Discovering Components • Architecture Quantum Redux: Choosing Between Monolithic Versus Distributed Architectures
درحال تولید...
تفاوت بین یک سبک معماری و یک الگوی معماری میتواند گیجکننده باشد. ما یک سبک معماری را به عنوان ساختار کلی نحوه سازماندهی رابط کاربری و کد منبع بکاند (مانند لایههای یک استقرار یکپارچه یا سرویسهای جداگانه مستقر شده) و نحوه تعامل آن کد منبع با یک ذخیرهساز داده تعریف میکنیم. از سوی دیگر، الگوهای معماری ساختارهای طراحی سطح پایینتری هستند که به شکلگیری راهحلهای خاص در یک سبک معماری کمک میکنند (مانند چگونگی دستیابی به مقیاسپذیری (Scalability) بالا یا عملکرد بالا در مجموعهای از عملیات یا بین مجموعهای از سرویسها). برای درک بدهبستانهای (Trade-off) مهم در معماری، توسعهدهندگان باید برخی مفاهیم و اصطلاحات اساسی مربوط به کامپوننتها، ماژولار بودن، اتصال (Coupling) و همزادگی (Connascence) را درک کنند. درک سبکهای معماری بخش زیادی از زمان و تلاش معماران جدید را به خود اختصاص میدهد زیرا آنها اهمیت و فراوانی مشترکی دارند. معماران باید سبکهای مختلف و بدهبستانهای محصور شده در هر یک را برای اتخاذ تصمیمات مؤثر درک کنند؛ هر سبک معماری مجموعهای شناخته شده از بدهبستانها را در بر میگیرد که به معمار کمک میکند تا انتخاب درستی برای یک مشکل تجاری خاص انجام دهد.

مبانی
Fundamental Patterns • Big Ball of Mud • Unitary Architecture • Client/Server • Monolithic Versus Distributed Architectures • Fallacy #1: The Network Is Reliable • Fallacy #2: Latency Is Zero • Fallacy #3: Bandwidth Is Infinite • Fallacy #4: The Network Is Secure • Fallacy #5: The Topology Never Changes • Fallacy #6: There Is Only One Administrator • Fallacy #7: Transport Cost Is Zero • Fallacy #8: The Network Is Homogeneous • Other Distributed Considerations
درحال تولید...

سبک معماری لایهای
Topology • Layers of Isolation • Adding Layers • Other Considerations • Why Use This Architecture Style • Architecture Characteristics Ratings
درحال تولید...

سبک معماری پایپلاین
Topology • Pipes • Filters • Example • Architecture Characteristics Ratings
درحال تولید...

سبک معماری میکروکرنل
Topology • Core System • Plug-In Components • Registry • Contracts • Examples and Use Cases • Architecture Characteristics Ratings
درحال تولید...

سبک معماری مبتنی بر سرویس
Topology • Topology Variants • Service Design and Granularity • Database Partitioning • Example Architecture • Architecture Characteristics Ratings • When to Use This Architecture Style
درحال تولید...

سبک معماری رویدادمحور
Topology • Broker Topology • Mediator Topology • Asynchronous Capabilities • Error Handling • Preventing Data Loss • Broadcast Capabilities • Request-Reply • Choosing Between Request-Based and Event-Based • Hybrid Event-Driven Architectures • Architecture Characteristics Ratings
درحال تولید...

سبک معماری مبتنی بر فضا
General Topology • Processing Unit • Virtualized Middleware • Data Pumps • Data Writers • Data Readers • Data Collisions • Cloud Versus On-Premises Implementations • Replicated Versus Distributed Caching • Near-Cache Considerations • Implementation Examples • Concert Ticketing System • Online Auction System • Architecture Characteristics Ratings
درحال تولید...

معماری سرویسگرا مبتنی بر ارکستراسیون
History and Philosophy • Topology • Taxonomy • Business Services • Enterprise Services • Application Services • Infrastructure Services • Orchestration Engine • Message Flow • Reuse…and Coupling • Architecture Characteristics Ratings
درحال تولید...

معماری مایکروسرویس
History • Topology • Distributed • Bounded Context • Granularity • Data Isolation • API Layer • Operational Reuse • Frontends • Communication • Choreography and Orchestration • Transactions and Sagas • Architecture Characteristics Ratings • Additional References
درحال تولید...

انتخاب سبک معماری مناسب
Shifting “Fashion” in Architecture • Decision Criteria • Monolith Case Study: Silicon Sandwiches • Modular Monolith • Microkernel • Distributed Case Study: Going, Going, Gone
درحال تولید...
یک معمار نرمافزار مؤثر نه تنها باید جنبههای فنی معماری نرمافزار را درک کند، بلکه باید تکنیکهای اصلی و مهارتهای نرم لازم برای تفکر مانند یک معمار، هدایت تیمهای توسعه و برقراری ارتباط مؤثر معماری با ذینفعان مختلف را نیز بداند. این بخش از کتاب به تکنیکهای کلیدی و مهارتهای نرم لازم برای تبدیل شدن به یک معمار نرمافزار مؤثر میپردازد.

تصمیمات معماری
Architecture Decision Anti-Patterns • Covering Your Assets Anti-Pattern • Groundhog Day Anti-Pattern • Email-Driven Architecture Anti-Pattern • Architecturally Significant • Architecture Decision Records • Basic Structure • Storing ADRs • ADRs as Documentation • Using ADRs for Standards • Example
درحال تولید...

تحلیل ریسک معماری
Risk Matrix • Risk Assessments • Risk Storming • Identification • Consensus • Agile Story Risk Analysis • Risk Storming Examples • Availability • Elasticity • Security
درحال تولید...

ترسیم و ارائه معماری
Diagramming • Tools • Diagramming Standards: UML, C4, and ArchiMate • Diagram Guidelines • Presenting • Manipulating Time • Incremental Builds • Infodecks Versus Presentations • Slides Are Half of the Story • Invisibility
درحال تولید...

کارآمد کردن تیمها
Team Boundaries • Architect Personalities • Control Freak • Armchair Architect • Effective Architect • How Much Control? • Team Warning Signs • Leveraging Checklists • Developer Code Completion Checklist • Unit and Functional Testing Checklist • Software Release Checklist • Providing Guidance • Summary
درحال تولید...

مهارتهای مذاکره و رهبری
Negotiation and Facilitation • Negotiating with Business Stakeholders • Negotiating with Other Architects • Negotiating with Developers • The Software Architect as a Leader • The 4 C’s of Architecture • Be Pragmatic, Yet Visionary • Leading Teams by Example • Integrating with the Development Team • Summary
درحال تولید...

توسعه مسیر شغلی
The 20-Minute Rule • Developing a Personal Radar • The ThoughtWorks Technology Radar • Open Source Visualization Bits • Using Social Media • Parting Words of Advice
درحال تولید...
24 فصل در حال تولید
مدت زمان خوانش
11:26
نوع کتاب
اشتراکی
شرکت کنندگان
0 نفر
تولید کتاب
۳ مهر ۱۴۰۵