অ্যাক্টিভেকর্ডে কিছু বৈধ সমালোচনা আছে। সর্বদা হিসাবে, চাচা বব একেবারে নিখুঁতভাবে যোগ করেছেন :
অ্যাক্টিভ রেকর্ডের সাথে আমার যে সমস্যাটি তা হ'ল এটি প্রোগ্রামিংয়ের এই দুটি খুব আলাদা স্টাইল সম্পর্কে বিভ্রান্তি তৈরি করে। একটি ডাটাবেস সারণি একটি ডেটা স্ট্রাকচার। এটি ডেটা এবং কোন আচরণ প্রকাশ করেছে। তবে একটি অ্যাক্টিভ রেকর্ড একটি অবজেক্ট হিসাবে উপস্থিত হয়। এটিতে "লুকানো" ডেটা এবং উন্মুক্ত আচরণ রয়েছে। আমি "লুকানো" শব্দটি উদ্ধৃতিতে রেখেছি কারণ তথ্যটি আসলে লুকানো নয়। প্রায় সমস্ত অ্যাক্টিভেকর্ড ডেরিভেটিভস অ্যাকসেসর এবং মিউটরের মাধ্যমে ডেটাবেস কলাম রফতানি করে। আসলে, অ্যাক্টিভ রেকর্ডটি ডেটা স্ট্রাকচারের মতো ব্যবহার করা বোঝায়।
অন্যদিকে, অনেকে তাদের অ্যাক্টিভ রেকর্ড ক্লাসে ব্যবসায়ের নিয়ম পদ্ধতি রাখেন; যা তাদেরকে বস্তু হিসাবে উপস্থিত করে তোলে। এটি একটি দ্বিধা বাড়ে। সক্রিয় রেকর্ডটি লাইনের কোন দিকে পড়ে? এটা কি কোন বস্তু? নাকি এটি কোনও ডেটা স্ট্রাকচার?
উইকিপিডিয়া একটি টেস্টিবিলিটি উদ্বেগের সমালোচনাটিকে সমষ্টি করে :
ওওপিতে এনক্যাপসুলেশনের ধারণাটি প্রায়শই উদ্বেগের বিচ্ছিন্নতার ধারণার সাথে মতবিরোধে থাকে। সাধারণভাবে বলতে গেলে, উদ্বেগের পৃথকীকরণের পক্ষে নিদর্শনগুলি বিচ্ছিন্ন ইউনিট পরীক্ষাগুলির পক্ষে বেশি উপযুক্ত তবে এনক্যাপসুলেশনকে সমর্থন করে এমন নিদর্শনগুলি এপিআই ব্যবহার করা সহজ। অ্যাক্টিভ রেকর্ডটি ভারীভাবে এনক্যাপসুলেশনের পক্ষে, যেখানে ডেটাবেস ছাড়াই পরীক্ষা করা বেশ কঠিন।
বিশেষত: রুবেল অন রেল বাস্তবায়নের জন্য, গ্যাভিন কিং লিখেছেন (জোর দেওয়া খনি):
এই মুহুর্তে, বেশিরভাগ বিকাশকারীরা ওম, ঠিক আছে, তাই ভাবছেন যে আমার কোডটি দেখে কোনও সংস্থার কী কী বৈশিষ্ট্য রয়েছে তা আমি কীভাবে জানতে পারি? এবং কীভাবে আমার আইডিই সেগুলি স্বয়ংক্রিয়ভাবে পূর্ণ করতে পারে? অবশ্যই, কারাবাসের লোকদের এই প্রশ্নের একটি দ্রুত উত্তর আছে ওহ, কেবলমাত্র আপনার ডাটাবেস ক্লায়েন্টকে জ্বালিয়ে দিন এবং ডাটাবেসে সন্ধান করুন! তারপরে, ধরে নেওয়া যে আপনি অ্যাক্টিভেকর্ডের অটোমেজিক মূলধন এবং বহুবচনকরণের নিয়মগুলি / নিখুঁত / জেনে গেছেন , আপনি নিজের কোম্পানির শ্রেণীর বৈশিষ্ট্যগুলির নাম অনুমান করতে পারবেন এবং সেগুলি ম্যানুয়ালি টাইপ করতে পারবেন।
এছাড়াও রুবেল অন রেল বাস্তবায়নের বিষয়ে জন জানুসস্কাক লিখেছেন (জোর দেওয়া খনি):
সমস্যা # 1: স্থিতিশীল পদ্ধতি
...
কেউ কেউ বলবেন যে স্ট্যাটিক পদ্ধতি ব্যবহার করা কেবল প্রক্রিয়াজাতকরণের প্রোগ্রামিংয়ের সমান এবং তাই দুর্বল অবজেক্ট ওরিয়েন্টড ডিজাইন। আবার কেউ কেউ বলতেন স্থির পদ্ধতি হ'ল টেস্টেবলির মৃত্যু।
সমস্যা # 2: বিশ্বব্যাপী কনফিগারেশন সেটিং
...
অতএব আমার উদাহরণে এবং ক্লাসে অ্যাকাউন্টের দৃষ্টান্তগুলিতে অ্যাকাউন্ট শ্রেণিতে কোনও নির্ভরতা ইঞ্জেকশন নেই । এখনই আমাদের সবার জানা উচিত, জিনিসগুলির সন্ধান করা খুব, খুব খারাপ!
অ্যাক্টিভেকর্ড এবং ওআরএমকে কেন সাধারণত বিরোধী-নিদর্শন হিসাবে বিবেচনা করা হয় সে সম্পর্কে আরও কয়েকটি সংস্থান:
অ্যাক্টিভেকর্ড সর্বদা একটি অত্যন্ত কার্যকর অ্যান্টি-প্যাটার্নের মতো অনুভূত হয়েছিল , তবে আমি সম্মত হই যে এটি এসআরপি এবং সংযোজনবিরোধীর বিরুদ্ধে যায় যে এটি নির্ভরতা বিপরীত নীতির বিরুদ্ধে যায়।