- عنوان کتاب: Data-Oriented Programming in Java
- نویسنده: Chris Kiehl
- حوزه: برنامهنویسی جاوا
- سال انتشار: 2026
- تعداد صفحه: 527
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 14.3 مگابایت
این کتاب چکیدهای از تمام چیزهایی است که در مورد توسعه مؤثر در جاوا آموختهام. این چیزی است که پس از سالها آزمایش، اشتباه کردن (اغلب فاجعهبار) و به آرامی کنار گذاشتن هر چیزی شبیه به «وفاداری به یک الگوی واحد» توسط فیلتر تحقیرآمیز بزرگ واقعیت، از من باقی مانده است. دادهگرایی الگوی جدیدی نیست که بخواهد همه الگوهای دیگر را کنار بزند و سهم آنها را از آن خود کند. اگر به شیءگرایی، برنامهنویسی تابعی یا هر الگوی دیگری علاقه دارید، کمی دادهگرایی شما را در آن سبکهای برنامهنویسی بهتر میکند! دادهگرایی در مورد دادهها است، نه ابزارهای خاص. البته، برخی الگوها و رویکردها وجود دارند که به طور طبیعی هنگام تمرکز روی دادهها ظاهر میشوند، اما همه آنها را میتوان به راحتی در هر الگویی که ترجیح میدهید اعمال کرد. دلیل این امر این است که دادهگرایی از یک ایده بسیار ساده متولد شده است، ایدهای که مردم از زمان طلوع محاسبات بارها و بارها آن را کشف کردهاند: «بازنمایی، جوهر برنامهنویسی است». برنامههایی که حول دادههایی که مدیریت میکنند سازماندهی میشوند، معمولاً سادهتر، کوچکتر و به طور قابل توجهی آسانتر درک میشوند. وقتی ما کار واقعاً خوبی در ثبت دادهها در دامنه خود انجام میدهیم، بقیه سیستم به گونهای در جای خود قرار میگیرد که انگار خودش در حال نوشتن است. بنابراین، این کتاب در مورد داده است. اینکه داده چیست، چگونه در مورد آن فکر کنیم، چگونه معانی آن را بفهمیم، چگونه آن را مدلسازی کنیم، چگونه آن را در کد خود نمایش دهیم و تا حدودی شگفتانگیز، چگونه به بازخورد آن گوش دهیم. عمل تلاش برای ثبت چیستی داده اغلب میتواند نشان دهد که ما چقدر در مورد دامنهای که قرار است مدلسازی کنیم، نمیفهمیم. به نقل از برتراند راسل، “همه چیز تا حدی مبهم است که تا زمانی که سعی نکنید آن را دقیق کنید، متوجه نمیشوید.” کتاب “جهتگیری داده” ابزارهایی را برای دقیق کردن چیزها در اختیار ما قرار میدهد. تنها چیزی که باید دنبال کنید، دانش اولیه کار با جاوا است. تا زمانی که بدانید کلاس چیست و چگونه میتوان یک رابط را تعریف کرد، و درک سطحی از ژنریکها داشته باشید (مثلاً قبلاً از نوعی مانند List<String> استفاده کرده باشید)، هر آنچه را که برای دنبال کردن نیاز دارید، در اختیار دارید.
This book is a distillation of everything I’ve learned about what effective development looks like in Java. It’s what’s left over after years of experimenting, getting things wrong (often catastrophically), and slowly having anything resembling “devotion to a single paradigm” beat out of me by the great humbling filter that is reality. Data Orientation is not some new paradigm here to beat up all other paradigms and take their lunch. If you like object orientation, functional programming, or any other paradigm, a little touch of data-orientation will make you better at those styles of programming! Data Orientation is about the data, not the specific tools. There are, of course, some patterns and approaches that naturally emerge when you focus on the data, but all of those can be applied readily to whatever paradigm is your preferred one. This is because data-orientation is born from a very simple idea, and one that people have been rediscovering over and over again since the dawn of computing: “representation is essence of programming”. Programs that are organized around the data they manage tend to be simpler, smaller, and significantly easier understand. When we do a really good job of capturing the data in our domain, the rest of the system tends to fall into place in a way which can feel like it’s writing itself. So, this book is about data. What it is, how to think about it, how to understand its semantics, how to model it, how to represent it in our code, and, somewhat surprisingly, how to listen to its feedback. The act of trying to capture what data is can often reveal how much we don’t understand about the domain we’re supposed to be modeling. To quote Bertrand Russel, “everything is vague to a degree you don’t realize until you try to make it precise.” Data-Orientation gives us the tools for making things precise. All you’ll need to follow along is a basic working knowledge of Java. As long as you know what a class is, and how to define an interface, and have at superficial understanding of generics (i.e. you’ve used a type like List<String> before), you’ve got everything you need to follow along.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:
Download: Data-Oriented Programming in Java





خیلی ممنون از تمام کتابهایی که به رایگان قرار دادید.