স্থাপত্য গন্ধ আছে?


37

ওয়েবে প্রচুর সংস্থান রয়েছে যা উল্লেখ করে এবং কোডের গন্ধ তালিকাভুক্ত করে। যাইহোক, আমি কখনোই উপর তথ্য দেখা করেছি স্থাপত্য গন্ধ । এটি কি কোথাও সংজ্ঞায়িত হয়েছে এবং সেখানে কি কোনও তালিকা পাওয়া যায়? আর্কিটেকচার ত্রুটিগুলি, এবং প্রকল্পের গতি, ত্রুটিগুলি এবং এর মতোগুলির উপর তাদের প্রভাব সম্পর্কে কি কোনও আনুষ্ঠানিক গবেষণা হয়েছে?

সম্পাদনা: আমি উত্তরগুলিতে সত্যিকারের জন্য একটি তালিকা খুঁজছিলাম না, তবে স্থাপত্য গন্ধ সম্পর্কে ডকুমেন্টেশন (ওয়েবে বা কোনও বইতে) in


4
কেবল তখনই যখন স্থপতিটির ব্যক্তিগত স্বাস্থ্যকর অভ্যাসগুলি খারাপ থাকে ...
হতাশ

আমি এখানে আপনার দুর্গন্ধের তালিকা তৈরি করতে চাইনি। একটি লিস্টে লিঙ্ক হতে পারে?
সি রস

রস দুঃখিত আমি এটা বুঝতে পারি নি। আমি মাত্র কয়েকটা অভিজ্ঞতা যুক্ত করেছি।
আমির রেজায়ে

@ আমির রেজায়েই আপনার অনেকটা সেরা, অন্তত আপনি নিজের তালিকাটিকে একটি পোস্টে একীভূত করেছেন।
সি রস

উত্তর:


33
  • মাল্টিটিয়ার আর্কিটেকচার যখন আপনার স্তরগুলিতে স্তরগুলিতে স্তর থাকে ... আপনি আমার প্রয়োগটি এখানে দেখতে পান। আমি এটিকে ওভার লেয়ার্ড আর্কিটেকচার বলি
  • এমনভাবে বিমূর্তকরণের মাধ্যমে আপনি কোডটিতে হারিয়ে যেতে পারেন।
  • ভবিষ্যত আর্কিটেকচার যখন সমাধান খুব ভবিষ্যত হয় তখন এটি ঘটে। বাস্তবে কেউ নতুন প্রয়োজনীয়তার পূর্বাভাস দিতে পারে না। অতএব ভবিষ্যত বাস্তবায়নের বেশিরভাগ সময় কেবলমাত্র সময় এবং সংস্থান অপচয় করা।
  • প্রযুক্তি উত্সাহী আর্কিটেকচার স্থপতি নতুন প্রযুক্তিটি পছন্দ করেছেন এবং তিনি প্রযোজনা করেছেন। আগে প্রমাণিত ছিল কিনা তা না জেনে।
  • কিল আর্কিটেকচারের ওপরে একটি সাধারণ সমস্যা আর্কিটেকচার দক্ষতা এবং প্রযুক্তির ঘনিষ্ঠ ফ্যাক্টর দ্বারা সমাধান করা হয়েছিল।
  • ক্লাউড আর্কিটেকচার আমি এটিকে ক্লাউড আর্কিটেকচার বলি কারণ আর্কিটেকচারটির সত্যিকারের কোনও সংযোগ নেই। এটি কেবল কয়েকটি দুর্দান্ত ভিজিও ডায়াগ্রাম।

বিপরীতে মোট অভাবও সত্য।

শীর্ষ দশ সফ্টওয়্যার আর্কিটেকচার ভুলগুলির লিঙ্কটি এখানে ।


1
আমি

7
বাকলভা স্থপতি?
অ্যান্ড্রু আর্নল্ড

15
আহ, স্প্যাগেটি কোডের নিকটাত্মীয়, আমি এই 'লাসাগনা কোড' কল করতে পছন্দ করি
GSto

6
ওহ @ জিএসটো - লাসাগনা আর্কিটেকচারে স্প্যাগেটি কোড। সম্পূর্ণ জমায়েতটিকে "ছোট্ট ইতালি" বলা যেতে পারে।
গ্লেনাট্রন

2
কিছু জায়গায় অ্যাপ্লিকেশন-স্তরগুলি == (বিকাশকারীদের নিয়োগ দেওয়া - ১) কারণ কেউ প্রধানমন্ত্রী হতে শেষ করে।
সাল

20

সবকিছু কনফিগারযোগ্য । যখন কোনও স্থপতি আপনাকে বলেন যে তার কনফিগারেশনের কারণে তার সিস্টেমটি পরিবর্তন-প্রমাণ বা অত্যন্ত স্বনির্ধারিত, তখন এটি একটি আর্কিটেকচারের গন্ধ।

সমস্যাটি হ'ল আপনি যে মুহূর্তে যা ভাবেন তার জন্য আপনি কেবলমাত্র কনফিগারেশন প্রক্রিয়া সরবরাহ করতে পারবেন তবে আপনার অ্যাপ্লিকেশনটি বন্য হয়ে গেলে এটি পর্যাপ্ত হবে না wild তারপরে, কনফিগারেশন প্রক্রিয়াগুলি প্রসারিত এবং প্রসারিত হবে এবং শেষ পর্যন্ত আপনি অভ্যন্তরীণ প্ল্যাটফর্ম প্রভাবটি পাবেন।

এবং তারপরে আপনি সফ্টওয়্যার নরকে আছেন।


যদিও মজার বিষয়, অভ্যন্তরীণ প্ল্যাটফর্মের প্রভাবটি নরকীয় এবং তবুও অনেক লোক ডিএসএলমুখী বিকাশকে নেক্সট বিগ থিং হিসাবে দেখছে, যা আমি মনে করি ডিজাইনের দ্বারা সামান্য অভ্যন্তরীণ-প্ল্যাটফর্মি।
glenatron

@ বিগনাট্রন: সম্ভবত এটাই কথা? কেন কেবল তোয়ালে নিক্ষেপ করবেন এবং ধরে নিবেন এটি ঘটতে চলেছে। তারপরে আপনি আরও ডিএসএল দিয়ে বিকাশ করতে পারেন এবং আরও কনফিগারেশন মোকাবেলায় বাস্তবায়ন পরিবর্তন করতে পারেন।
জেরেমি হিলার

আমি বলব যে ডিএসএল যেমন ডিএসএল আছে তেমন। এটি কার্যকর করার ভাল উপায় এবং খারাপ উপায়। এটি কীভাবে সঠিকভাবে করা যায় তা আমি যখন ভাবি, তখন আমি অনেকগুলি ডিএসএলকে ভাবি যেগুলি রুবেলকে রেলগুলিতে তৈরি করে। তারা তাদের নিজস্ব ভাষা বাস্তবায়ন করে না - এগুলি কেবল একটি রুবি প্রোগ্রামের মধ্যেই রচনা, তবে তারা কী ভাষা বলে তার অনেকগুলি বিবরণ চতুরতা এবং সহায়তার সাথে বিমূর্ত করে দেয়। আইপিই যেখানে সত্যই উচ্চ স্বর্গের দিকে ঝুঁকতে শুরু করে আপনি যখন ডোমেন-নির্দিষ্ট ভাষা থেকে ক্রমবর্ধমান জেনারালাইজড ল্যাঙ্গুয়েজে যান যা এটি যে ভাষাতে প্রয়োগ করা হয় তার মতো দেখতে দেখতে অনেকটা দেখতে শুরু করে
অ্যাডাম ক্রসল্যান্ড 16

আমি ডিএসএলের সাম্প্রতিককালে পড়ছিলাম, জেটব্রেইনগুলির এমপিএস রয়েছে যা আকর্ষণীয় দেখায়, তবে আমি এটি ব্যবহার করার বিষয়ে ধারণা করতে পারি না। তারা তাদের কিছু পণ্য এটি ব্যবহার করার দাবি করে, তাই আমি কোনটি এবং কীভাবে তা জিজ্ঞাসা করতে পারি।
ইয়ান

আমি যদি এটি করতে পারি তবে এটি 100,000,000 বার উপস্থাপন করব। আপনি যদি স্বচ্ছতা নামক প্রকল্প পরিচালনার সরঞ্জামটি ব্যবহার করেন তবে আপনি বুঝতে পারবেন কেন এটি একটি ভয়ঙ্কর আর্কিটেকচার পছন্দ!
এইচএলজিইএম

9

একটি ওআরএম দ্বারা ডিজাইন করা একটি ডাটাবেস! অথবা একটি ডেটাবেস ব্যাকএন্ড যা সম্পর্কিত নয় should অথবা এমন একটি ডাটাবেস যেখানে আপনি এমন ভিউগুলি কল করার মতামতগুলি ব্যবহারের জন্য নকশাগুলি দেখিয়েছেন যা কেবলমাত্র ভিউগুলিকে কল করে না কেবল সেগুলি খুব ধীর হয় না (ডাটাবেসগুলি অবশ্যই শুরু থেকেই কার্য সম্পাদনের জন্য ডিজাইন করা উচিত পরে নয়) তবে যখন আপনাকে কোনও পরিবর্তন করতে হবে, তখন সেগুলি ট্র্যাক করা ভয়ঙ্কর are (@ আমিরেসেসিই বলে বিমূর্ততার উপরে দিয়েছিলেন যে আপনি যখন এই সমস্ত স্তরগুলির নীচে থাকা কোনও কিছু ঠিক করার দরকার হয় তখন কোডে হারিয়ে যাওয়া সহজ করে দেয়))


এই মারা গেছে। দুঃখের বিষয়, হার্ডওয়্যার দ্রুত হওয়ার সাথে সাথে এটি একটি বড় সমস্যা হয়ে উঠছে। এটি 10 ​​টি রেকর্ডে দ্রুত কাজ করে, এটি 100,000,000 দিয়ে কেন কাজ করবে না?
জেফ ডেভিস

4
আমার কাছে, ওআরএম হ'ল আর্কিটেকচারের গন্ধ।
ক্রিস্টোফার মাহান

3

কোড গন্ধ এবং স্থাপত্য গন্ধ এক এবং এক। উপ-অনুকূল স্থাপত্যের কারণে কোড "গন্ধ" পেতে শুরু করে।

রিফ্যাক্টরিং বিষয়ক মার্টিন ফাউলারের আধ্যাত্মিক বইয়ে তিনি কোড সেলের একটি সিরিজ উপস্থাপন করেছেন এবং সেগুলি আপনার সিস্টেম থেকে বের করে দেওয়ার উপায় চিহ্নিত করেছেন। জোশুয়া কেরিভস্কির প্যাটার্নসে রিফ্যাক্টরিং বিভিন্ন কোড গন্ধ (এবং কীভাবে ধাপে ধাপে তাদের কাছে রিফ্যাক্টর করতে হবে) ঠিক করার জন্য নির্দিষ্ট স্থাপত্য নিদর্শন দিয়ে এই ধারণাকে আরও জোর দেয়।

বেশিরভাগ রিফ্যাক্টরিং বর্ধিত আর্কিটেকচারের মাধ্যমে সাবপটিমাল কোড দূরীকরণের জন্য করা হয়। যে কেউ তর্ক করতে পারে যে একমাত্র প্রাকৃতিকভাবে জন্মগ্রহণকারী "আর্কিটেকচারাল গন্ধ" (বিগ বল অফ মুড ব্যতীত) হবেন বিডিইউএফ (বিগ ডিজাইন আপ ফ্রন্ট) আর্কিটেকচার। যেখানে আপনি কোডের প্রথম লাইনটি লেখার আগে আপনার প্রয়োজনীয় সমস্ত কিছু সামঞ্জস্য করার চেষ্টা করবেন। একটি চতুর সফ্টওয়্যার প্রকল্প যেখানে প্রয়োজন অনুযায়ী নকশা করা হয় (এমনকি আমি সাহস করি যেখানে কোড ডিজাইন হিসাবে বিবেচনা করা হয় ), এর স্থাপত্যটি জৈবিকভাবে বৃদ্ধি পাবে।


1
মজার বিষয়, আপনি একটি উদাহরণ দিতে পারেন?
ট্র্যাভিস খ্রিস্টান

চতুর কোডিং কোড গন্ধ।
ক্রিস্টোফার মাহান

এমন একটি উত্তর যা সত্যকে সমর্থন না করেই বিবৃতি দেয়। উত্তর গন্ধ?
ইভান প্লেস

নিবন্ধন করুন আশা করি আমার সম্পাদনাটি আমি কীভাবে আমার উত্তরে এসেছি সে সম্পর্কে আরও কিছু অন্তর্দৃষ্টি প্রদান করে।
মাইকেল ব্রাউন

@ মাইকব্রাউন +1 আমি সুন্দরী তবে সুন্দর উন্নতি করছি।
ইভান প্লেস

2

(অনেক) সংযোজন যাই হোক না কেন ইন form- কি আর্কিটেকচারের গন্ধ করে তোলে। এটি যত বেশি মিলিত হয়, ততই গন্ধ হয়।

এটি বলেছিল: কোনও মিলনে প্রায়শই পারফরম্যান্সের সমস্যার সমাধান হয় না।


1
এর সাথে আমার একমত হতে হবে না। আপনি যদি ব্যবসায়িক অ্যাপ্লিকেশনগুলির কথা বলছেন, এমন কোনও ডাটাবেসে সংযুক্ত হওয়া যা পরিবর্তনের সম্ভাবনা খুব বেশি নয় তবে বুদ্ধিমান বুদ্ধিমান নয়। আপনি আরও কর্মক্ষমতা বৈশিষ্ট্য ব্যবহার করতে পারেন যা ডেটাবেস নির্দিষ্ট।
এইচএলজিইএম

+1 তবে ওয়াইএমএমভি। সতর্কতার সাথে ব্যবহার করুন.
মাইকেল কে

1
এ কারণেই আমি যুক্ত করেছি "কোনও মিলনে প্রায়শই পারফরম্যান্সের সমস্যাগুলির গন্ধ পাওয়া যায় না"। আমি সম্মত হই যে পারফরম্যান্স বাড়ানোর জন্য আপনাকে কাপলিং ব্যবহার করতে হবে। এটি যখন সেখানে সর্বত্র প্রচুর সংযোগ ঘটায় (বিভিন্ন মডিউল / শ্রেণি / আপনার যে কোনও প্রয়োগের মধ্যে) যে কোনও স্থাপত্য সমস্যা রয়েছে।
ক্লাইম

2

এখানে একটি কংক্রিট আর্কিটেকচার / ডিজাইনের গন্ধ যা আমি সর্বদা মুখোমুখি: বিশ্লেষণ এবং সরাসরি একটি লেনদেনের ডাটাবেস থেকে রিপোর্ট করা।

কিছু পরিস্থিতিতে এটি অবশ্যই ঠিক আছে (যেমন হালকা প্রতিবেদন) তবে বেশিরভাগ ক্ষেত্রে রিপোর্টিং এবং লেনদেনের প্রক্রিয়াজাতকরণের প্রয়োজনীয়তাগুলি দ্বন্দ্বের মধ্যে রয়েছে। তবুও, এটি করা সহজ / সাশ্রয়ী জিনিস হওয়ায়, রিপোর্টগুলি সরাসরি লেনদেনের ডিবি থেকে চালানো হয়। এটি সমীকরণের উভয় পক্ষের সমস্ত ধরণের মাথা ব্যথার কারণ হয়ে দাঁড়ায়।

এটি সাধারণত এন্টারপ্রাইজ এলওবি অ্যাপস, বিটিডব্লুতে দেখা যায়। আমি বুঝতে পেরেছি যে অনেকগুলি এসএমবিতে গুদাম এবং ডেটামার্টগুলি কীভাবে তৈরি করতে হয় তা সংস্থান বা জানে না (কিউবগুলি ভুলে যান, বা মানচিত্র-হ্রাস সেটআপগুলি), তবে আমি কাজ করেছি এমন আরও অনেক বড় orgs একই সমস্যা রয়েছে।

কোনও সিস্টেম ডিজাইন করার সময়, স্থপতিটির সত্যই সচেতন হওয়া উচিত যে রিপোর্টিং - বিশেষত বিশ্লেষণের প্রতিবেদনগুলি - এবং লেনদেনের প্রয়োজনীয়তাগুলি পৃথক সমস্যা হিসাবে বিবেচনা করা হয় এবং কেবল ডাটাবেস স্তরে একসাথে লম্পট করা হয় না।


0

আমি নিশ্চিত নই যে এটি আর্কিটেকচার স্তরে যথাযথভাবে খাপ খায় তবে আমি যদি ওও ডিজাইন বলে মনে করি তবে এটিতে যদি পরিচালক ক্লাস / মডিউলগুলির একটি গোছা দেখি তবে এটিই গ্যারান্টি যে আর্কিটেকচার / নকশাটি বুঝতে সক্ষম একমাত্র ব্যক্তি অন্যের দ্বারা প্রচুর ব্যাখ্যা / শিখতে না পারা নিজেই আর্কিটেক্ট / ডিজাইনার।


0

সম্প্রদায় দ্বারা নথিভুক্ত অনেক স্থাপত্য গন্ধ আছে। একটি সাধারনত সংঘটিত সেটটি নিম্নলিখিত।

  • চক্রীয় নির্ভরতা: দু'একটি বেশি আর্কিটেকচার উপাদান প্রত্যক্ষ বা অপ্রত্যক্ষভাবে একে অপরের উপর নির্ভর করে যখন এই গন্ধটি দেখা দেয়।
  • অস্থির নির্ভরতা: এই গন্ধটি তখন উত্থাপিত হয় যখন কোনও উপাদান নিজের চেয়ে কম স্থিতিশীল অন্যান্য উপাদানগুলির উপর নির্ভর করে।
  • Godশ্বরের অংশ: এই গন্ধটি তখন ঘটে যখন কোনও উপাদান এলওসি এর শর্তাবলী বা শ্রেণীর সংখ্যায় মাত্রাতিরিক্ত পরিমাণে বড় হয়।
  • বৈশিষ্ট্য ঘনত্ব: যখন কোনও উপাদান একাধিক স্থাপত্য সংক্রান্ত উদ্বেগ / বৈশিষ্ট্য উপলব্ধি করে তখন এই গন্ধ হয়।
  • ছড়িয়ে ছিটিয়ে থাকা কার্যকারিতা: যখন একাধিক উপাদান একই উচ্চ-স্তরের উদ্বেগ অনুধাবনের জন্য দায়বদ্ধ তখন এই গন্ধটি উত্থিত হয়।
  • ঘন কাঠামো: এই গন্ধটি উত্থাপিত হয় যখন উপাদানগুলির কোনও নির্দিষ্ট কাঠামো ছাড়াই অতিরিক্ত এবং ঘন নির্ভরতা থাকে।

আমি সম্প্রতি গন্ধের একটি শৈলী প্রস্তুত করেছি । বর্তমানে, এটি 38 আর্কিটেকচারের গন্ধ এবং 260 টিরও বেশি কোডের গন্ধ নথি করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.