کتابخانه منبع باز Swift برای ایجاد نمودار کلاس UML
یک کتابخانه قدرتمند منبع باز سوئیفت به توسعهدهندگان نرمافزار امکان تولید نمودارهای کلاس UML از کد منبع سوئیفت را میدهد. توسعهدهندگان میتوانند نمودار خروجی را سفارشی کرده و معماری کد را به تصویر بکشند.
SwiftPlantUML چیست؟
در دنیای پرسرعت توسعه نرمافزار، حفظ درک واضحی از معماری برنامهتان حیاتی است. با رشد پیچیدگی پروژهها، تجسم روابط بین کلاسها، پروتکلها و سایر مؤلفهها ضروری میشود. توسعهدهندگان نرمافزار اغلب برای تجسم و مستندسازی ساختار کد خود از نمودارهای UML (Unified Modeling Language) استفاده میکنند. SwiftPlantUML یک کتابخانه منبع باز است که تولید خودکار نمودارهای کلاس UML را از کد Swift انجام میدهد و بهعنوان ابزاری اساسی برای توسعهدهندگان Swift محسوب میشود. این کتابخانه قدرتمند اسکریپتهای PlantUML را از کد Swift تولید میکند. PlantUML ابزاری مبتنی بر متن برای ایجاد نمودارهای UML است، از جمله نمودارهای کلاس، نمودارهای توالی و موارد دیگر.
توسط مارکو آیدینگر توسعه یافته، SwiftPlantUML به توسعهدهندگان امکان میدهد تا نمودارهای UML را مستقیماً از کد Swift تولید کنند، که مستندسازی و تجسم ساختار پروژههای Swift را آسانتر میسازد. SwiftPlantUML گزینههای سفارشیسازی را برای تطبیق نمودارهای UML تولید شده با نیازهای خاص فراهم میکند. توسعهدهندگان میتوانند برخی کلاسها را حذف کنند، چیدمان را تنظیم کنند یا عناصر خاصی را فیلتر کنند. این ابزار ساختارهای کلاس و روابط را از کد Swift استخراج کرده و بهصورت خودکار نمودارهای UML تولید میکند. با پشتیبانی از طیف گستردهای از انواع Swift، خروجی قابل تنظیم و ادغام یکپارچه با Xcode، SwiftPlantUML افزونهای ارزشمند برای جعبه ابزار هر توسعهدهنده Swift است.
آغاز کار با SwiftPlantUML
روش پیشنهادی برای کتابخانه SwiftPlantUML استفاده از Homebrew است. لطفاً برای نصب روان، دستور زیر را اجرا کنید.
نصب SwiftPlantUML از طریق Homebrew
brew install swiftplantumlنصب SwiftPlantUML از طریق Mint
$ mint install MarcoEidinger/SwiftPlantUMLتبدیل کد سوئیفت به نمودارهای UML
پس از نصب، میتوانید از SwiftPlantUML برای تولید اسکریپتهای PlantUML از کد Swift خود استفاده کنید. بهجای ایجاد دستی نمودارها، کتابخانه منبع باز SwiftPlantUML ساختارهای کلاس و روابط را از کد Swift استخراج کرده و بهصورت خودکار نمودارهای UML را بدون هیچ وابستگی خارجی تولید میکند. مثال زیر نشان میدهد که چگونه توسعهدهندگان میتوانند یک اسکریپت PlantUML را از کد دادهشده که روابط بین انواع User، Admin و Authenticatable را نشان میدهد، تولید کنند. خروجی میتواند با استفاده از یک ویرایشگر PlantUML به نمودار UML تبدیل شود.
چگونه اسکریپت PlantUML را از کد داده شده با استفاده از API سوئیفت تولید کنیم؟
import SwiftPlantUML
class User {
var name: String
var email: String
init(name: String, email: String) {
self.name = name
self.email = email
}
}
class Admin: User {
func managePermissions() {
print("Managing permissions...")
}
}
protocol Authenticatable {
func login()
func logout()
}
extension Admin: Authenticatable {
func login() {
print("Admin logged in")
}
func logout() {
print("Admin logged out")
}
}
let generator = PlantUMLGenerator()
let plantUMLScript = generator.generate(from: User.self)
print(plantUMLScript)
پشتیبانی از خروجی قابل سفارشیسازی
کتابخانه SwiftPlantUML به توسعهدهندگان نرمافزار امکان میدهد اسکریپتهای تولید شده PlantUML را مطابق نیازهای خود سفارشی کنند. توسعهدهندگان میتوانند انواع خاصی را شامل یا حذف کنند، روابط را تغییر دهند و چیدمان نمودار را درون برنامههای Swift تنظیم کنند. مثال زیر نشان میدهد که چگونه کاربران میتوانند کلاس Animal را از نمودار تولید شده با استفاده از کتابخانه Swift حذف کنند.
چگونه یک کلاس خاص را از نمودار تولید شده با استفاده از API سوئیفت حذف کنیم؟
let options = PlantUMLOptions(exclude: ["Animal"])
let generator = PlantUMLGenerator(options: options)
let plantUMLScript = generator.generate(from: MySwiftClass.self)
Visualize Code Architecture
به تصویر کشیدن معماری کد و همکاری
درک روابط بین کلاسها، پروتکلها و ساختارها برای ساخت برنامههای مقیاسپذیر بسیار مهم است. کتابخانه منبع باز SwiftPlantUML به سادگی امکان تولید نمودارهای UML را فراهم میکند که نمایشی واضح از معماری برنامه شما ارائه میدهند و شناسایی مشکلات احتمالی و بهینهسازی طراحی را آسانتر میسازند. نمودارهای بصری ارتباط و همکاری تیمها را تسهیل میکنند. با به اشتراکگذاری نمودارهای UML، توسعهدهندگان میتوانند به سرعت در تصمیمات طراحی همراستا شوند و نقاط قابل بهبود را شناسایی کنند.