वर्ड वर्ड प्रोसेसर. टेम्पलेट्स आणि त्यांचा उद्देश. स्टाइलिंग दस्तऐवज. टेम्पलेट वापरणे

वारंवार विचारले जाणारे प्रश्न 12.05.2019
चेरचर

वारंवार विचारले जाणारे प्रश्नएकाच प्रकारचे अनेक दस्तऐवज तयार करण्यासाठी डिझाइन केलेले दस्तऐवज आहे. टेम्पलेट्स दस्तऐवजाचा आधार बनत नाहीत, परंतु त्यास संलग्न आहेत. टेम्पलेटमधून दस्तऐवज तयार करताना, दोन समांतर वस्तू रॅममध्ये ठेवल्या जातात: टेम्पलेट आणि दस्तऐवज. टेम्प्लेट डाउनलोड केले जाते आणि टेम्प्लेट कॉपी करून डॉक्युमेंट तयार केले जाते. या प्रकरणात, त्याचे घटक पूर्णपणे किंवा अंशतः टेम्पलेटमधून दस्तऐवजात कॉपी केले जातात: मजकूर, सानुकूल शैली आणि इतर घटक. उदाहरणार्थ, दस्तऐवजातील शैलींची सूची उघडा. श्रेणी वापरलेदस्तऐवजात आधीपासून वापरल्या गेलेल्या आणि त्यामध्ये कॉपी केलेल्या शैली आहेत आणि श्रेणी वर्तमान दस्तऐवजात- या अशा शैली आहेत ज्या टेम्पलेटमध्ये उपलब्ध आहेत, परंतु त्या उपलब्ध असल्या तरी त्या अद्याप दस्तऐवजात वापरल्या गेल्या नाहीत. जेव्हा आपल्याला अशा शैलीची आवश्यकता असेल तेव्हा ते टेम्पलेटमधून घेतले जाईल.

      1. टेम्पलेट्सचे प्रकार

दस्तऐवजाशी टेम्पलेट जोडणे अनेक प्रकारे केले जाते. त्यानुसार, दस्तऐवजाशी कनेक्ट करण्याच्या यंत्रणेनुसार, अनेक प्रकारचे टेम्पलेट वेगळे केले जाऊ शकतात (चित्र 2.23).

सर्व प्रथम, हे स्थानिकटेम्पलेट्स आणि जागतिक. पुढे, जागतिक टेम्पलेट्समध्ये विभागले गेले आहेत कायमआणि सत्र. अखेरीस, स्थिर नमुन्यांची आपापसांत बाहेर स्टॅण्ड मूलभूत टेम्पलेट, म्हणतात नवीन दस्तऐवजआणि फाइल मध्ये संग्रहित सामान्य. dotm. हे सर्व कागदपत्रे आणि सर्व टेम्पलेट्स अधोरेखित करते, ते नेहमीच वैध असते आणि नष्ट केले जाऊ शकत नाही.

स्थानिक टेम्पलेट्स.टेम्पलेट्स कसे कार्य करतात याचे यांत्रिकी समजून घेण्यासाठी, कल्पना करूया की प्रोग्राम एकाच वेळी तीन दस्तऐवजांवर कार्य करत आहे. RAM मधील ऑब्जेक्ट्सचा लेआउट अंजीर मध्ये दर्शविला आहे. २.२४. पहिल्या दस्तऐवजात, Memo.dotm टेम्पलेटवर आधारित मेमो तयार केला जातो. दुसरा दस्तऐवज Report.dotm टेम्पलेटवर आधारित त्रैमासिक अहवालासाठी एक अध्याय विकसित करतो. आणि तिसरा दस्तऐवज एक फाइल आहे ज्यामध्ये इंटरनेटवरून कॉपी केलेल्या विविध नोट्स टाकल्या जातात. भविष्यातील संशोधनासाठी हा मसुदा संग्रह आहे. या मसुद्यासाठी आधार म्हणून कोणतेही टेम्पलेट वापरलेले नाहीत.

टेम्पलेट्स

स्थानिक

जागतिक

कायम

सत्र

मूलभूत टेम्पलेट Normal.dotm

आकृती 2.47. टेम्पलेट परस्परसंवाद आकृती

स्थानिक टेम्पलेट

जागतिक टेम्पलेट

स्थानिक टेम्पलेट

सेवा मेमो

नोट्स संग्रह

त्रैमासिक अहवाल

आकृती 2.48. RAM मध्ये टेम्पलेट्स आणि कागदपत्रांचा परस्परसंवाद

या प्रकरणात, मेमोशी संबंधित Memo.dotm टेम्पलेट स्थानिक टेम्पलेट आहे, आणि Report.dotm टेम्पलेट अहवालाशी संबंधित स्थानिक टेम्पलेट आहे. प्रोग्रामच्या रशियन आवृत्तीमध्ये, स्थानिक टेम्पलेट्सना दस्तऐवज टेम्पलेट्स म्हणतात. स्थानिक टेम्पलेट्स घटक संग्रहित करतात जे दस्तऐवजाची वैशिष्ट्ये परिभाषित करतात. उदाहरणार्थ, मेमो टेम्पलेटमध्ये दस्तऐवजाचे “शीर्षलेख” (केव्हा, कोणाकडे, कोणाकडून इ.) संग्रहित करणे सोयीचे आहे आणि अहवाल टेम्पलेटमध्ये - शीर्षक पृष्ठ. स्थानिक टेम्पलेट्सचे सर्वात वैशिष्ट्यपूर्ण गुणधर्म स्थिर मजकूर घटक आहेत.

जागतिक टेम्पलेट्स. ग्लोबल टेम्प्लेट प्रोग्राममध्ये उघडलेल्या सर्व दस्तऐवजांना प्रभावित करते, म्हणून त्यात मजकूर सामग्रीचे विशिष्ट घटक संग्रहित करणे उचित नाही. ग्लोबल टेम्प्लेट्स सर्व दस्तऐवजांसाठी समान असलेले घटक संग्रहित करतात. जागतिक टेम्पलेट्सचे सर्वात वैशिष्ट्यपूर्ण गुणधर्म म्हणजे स्वरूपन शैली आणि प्रोग्राम सेटिंग्ज. आम्हाला प्रोग्रामसह एक जागतिक टेम्पलेट - Normal.dotm प्राप्त होतो. ते आपोआप कनेक्ट होते आणि नेहमी जोडलेले असते. प्रोग्राम टेम्प्लेट्स [Leb10] संग्रहित करण्यासाठी विशेष ठिकाणे प्रदान करतो.

टेम्पलेट्सची स्वतःची अंतर्गत रचना आणि त्यांचे स्वतःचे माहिती मॉडेल असते. सर्वसाधारणपणे, टेम्पलेटमध्ये टेबलमध्ये दर्शविलेले घटक असू शकतात. २.६.

तक्ता 2.10. टेम्पलेट घटक

घटक

दस्तऐवजात कॉपी करा

वर्णन

स्थिर सामग्री

पूर्णपणे

मजकूर आणि चित्रे नियमितपणे पुनरावृत्ती करा

पृष्ठ सेटिंग्ज पर्याय

पूर्णपणे

पृष्ठ आकार आणि अभिमुखता, मुद्रित मार्जिन आकार, शीर्षलेख आणि तळटीप सामग्री फील्ड

डायनॅमिक फील्ड

पूर्णपणे

जर टेम्पलेटमध्ये वर्तमान तारीख फील्ड असेल, तर ते दस्तऐवजावर जाईल, जिथे ते दस्तऐवज तयार करण्याच्या तारखेनुसार स्वयंचलितपणे भरले जाईल, टेम्पलेट तयार करण्याच्या तारखेनुसार नाही.

स्वरूपन शैली

पूर्णपणे

कॉपी केलेल्या परंतु न वापरलेल्या शैली उपलब्ध मानल्या जातात आणि त्यांना "दस्तऐवज शैली" म्हणतात. एकदा लागू केल्यानंतर, "वापरलेल्या शैली" म्हणतात

एक्सप्रेस ब्लॉक्स

वापरल्याप्रमाणे

जेव्हा टेम्पलेट दस्तऐवजाशी कनेक्ट केलेले असते तेव्हाच ऑटोटेक्स्ट घटक उपलब्ध असतात.

सामग्री नियंत्रणे

पूर्णपणे

भरण्यायोग्य इलेक्ट्रॉनिक फॉर्म म्हणून काम करणाऱ्या टेम्पलेट्समध्ये मोठ्या प्रमाणावर वापरले जाते

प्रोग्राम सेटिंग्ज

कॉपी केली नाही

द्रुत प्रवेश पॅनेल सेटिंग्ज, कीबोर्ड शॉर्टकट आणि इतर प्रोग्राम सेटिंग्ज

दस्तऐवज डिझाइन आणि मुद्रण

या व्याख्यानात तुम्ही शिकाल कसे:

· टेम्पलेट वापरून दस्तऐवजाचे स्वरूप सानुकूलित करा;

· दस्तऐवजाची पार्श्वभूमी बदला;

· थीम वापरून दस्तऐवज सुधारित करा;

· दस्तऐवज पहा आणि मुद्रित करा;

· पृष्ठ लेआउट व्यवस्थापित करा.

मायक्रोसॉफ्ट वर्ड फॉरमॅटिंग टूल्ससह येतो जसे की टेम्पलेट्स. तुम्ही Word च्या पूर्वनिर्धारित व्यवसाय किंवा वैयक्तिक टेम्पलेट्सपैकी एकावर आधारित दस्तऐवज तयार करू शकता किंवा तुम्ही तुमचे स्वतःचे टेम्पलेट तयार करू शकता. तुम्ही मुख्य दस्तऐवज घटकांसाठी पृष्ठे आणि थीमसाठी पार्श्वभूमी सेट करू शकता. मुद्रित करताना, पृष्ठ आणि विभाग खंड परिभाषित करताना आणि प्रत्येक पृष्ठावर पुनरावृत्ती होणाऱ्या माहितीसाठी शीर्षलेख आणि तळटीप वापरताना तुम्ही मजकूराचे स्वरूप नियंत्रित करू शकता. एकदा तुम्ही तुमच्या दस्तऐवजावर काम पूर्ण केल्यावर, तुम्ही पूर्वावलोकन मोडवर जाऊ शकता आणि मुद्रण करण्यापूर्वी मजकूराचा लेआउट सेट करू शकता.

दस्तऐवजातील माहितीची अचूकता खूप महत्त्वाची आहे, परंतु दस्तऐवजाचे स्वरूप देखील महत्त्वाचे आहे. दृष्यदृष्ट्या आकर्षक दस्तऐवज तयार करण्यासाठी, तुम्ही Word च्या व्यावसायिकरित्या डिझाइन केलेल्या अंगभूत टेम्पलेटपैकी एक वापरू शकता. वारंवार विचारले जाणारे प्रश्न - इतर दस्तऐवज तयार करताना संदर्भ म्हणून वापरण्यासाठी परिच्छेद वैशिष्ट्ये आणि शैली, पृष्ठ स्वरूपन आणि मॅक्रो संचयित करणारी फाइल. तुम्ही अन्यथा निवडल्याशिवाय, सर्व नवीन दस्तऐवज सामान्य टेम्प्लेटवर आधारित असतात, ज्यामध्ये परिच्छेदांसाठी सामान्य शैलीसह, अगदी सोप्या शैलींची किमान संख्या असते. प्रकाशन, संदेश, पत्रे, फॅक्स, मेमो आणि वेब पृष्ठांसह विविध व्यवसाय आणि वैयक्तिक दस्तऐवजांच्या टेम्पलेटसह Word देखील येतो.

Word च्या अंगभूत टेम्पलेटपैकी एकावर आधारित दस्तऐवज तयार करण्यासाठी, टास्कबारमधील टेम्पलेट निवडा दस्तऐवज तयार करणे. प्रोग्रामच्या स्थापनेदरम्यान आपल्या संगणकावर काही टेम्पलेट स्थापित केले जातात; इतर ऑफिस ऑनलाइन वरून उपलब्ध आहेत.

शब्द ऑनलाइन कार्यसमूह टेम्पलेट्सचे समर्थन करतो. टॅब वापरून ते कोठे संग्रहित केले जातात हे तुम्ही ठरवू शकता स्थानडायलॉग बॉक्स पॅरामीटर्सजे मेनूमधून उघडते सेवा.तुम्ही टास्कबार वापरून हे टेम्पलेट्स देखील शोधू शकता दस्तऐवज तयार करणेवर क्लिक करत आहे माझ्या वेबसाइट्सवरविभागात टेम्पलेट्स.


टेम्प्लेटवर आधारित दस्तऐवज तयार करण्यासाठी, टास्क पेनमध्ये, खाली टेम्पलेट्सवर क्लिक करा सामान्य टेम्पलेट्स. एक डायलॉग बॉक्स उघडेल टेम्पलेट्स, ज्यामध्ये टेम्पलेट्ससह अनेक टॅब समाविष्ट आहेत ज्यामधून आपण आपल्याला आवश्यक असलेला एक निवडू शकता.

स्क्रीनवर दिसणाऱ्या दस्तऐवजात मजकूर एंट्रीसाठी ब्रॅकेट केलेले प्लेसहोल्डर्स असतात. उदाहरणार्थ, तुम्ही फॅक्स टेम्पलेट निवडल्यास, दस्तऐवजात प्लेसहोल्डर दिसेल [येथे संस्थेचे नाव घाला].फिलरची आवश्यकता नसल्यास, ते काढले जाऊ शकते. प्लेसहोल्डर सुधारण्यासाठी, त्यावर क्लिक करा आणि मजकूर प्रविष्ट करा. तुम्ही मजकूर प्रविष्ट करणे पूर्ण केल्यावर, दस्तऐवज जतन करा. टेम्पलेट अपरिवर्तित राहील आणि इतर दस्तऐवज तयार करण्यासाठी वापरले जाऊ शकते.





वर्ड टेम्प्लेट सुधारित केले जाऊ शकते आणि मानक ऐवजी भविष्यात वापरले जाऊ शकते. उदाहरणार्थ, तुम्ही फॅक्स टेम्पलेट उघडल्यास, तुमच्या कंपनीच्या पत्त्याची माहिती त्यात पेस्ट केली आणि टेम्पलेट म्हणून सेव्ह केली, तर फॅक्स तयार करताना तुम्ही ते टेम्पलेट वापरू शकता.

एकदा तुम्ही दस्तऐवज तयार केल्यावर, तुम्ही भिन्न टेम्पलेट्स वापरून त्यात बदल करू शकता. विद्यमान दस्तऐवजावर टेम्पलेट लागू करण्यासाठी, मेनूवर क्लिक करा सेवावर टेम्पलेट आणि ॲड-ऑन, क्लिक करा सामील व्हाआणि नंतर टेम्पलेट शोधा आणि उघडा. जर दोन टेम्पलेट्समध्ये समान नावाच्या शैली असतील, तर तुम्ही नवीन टेम्पलेटच्या शैलींनी परिभाषित केलेल्या स्वरूपनाने जुन्या टेम्पलेटच्या शैलींनी परिभाषित केलेल्या स्वरूपनाची जागा घ्यायची किंवा नाही हे निवडून ठरवू शकता. शैली स्वयंचलितपणे अद्यतनित करानवीन दस्तऐवजासाठी.

आवर्ती समस्यांचे निराकरण करण्यासाठी डिझाइन नमुने मार्गदर्शक तत्त्वे आहेत. हे वर्ग, पॅकेजेस किंवा लायब्ररी नाहीत ज्यात तुम्ही तुमच्या ऍप्लिकेशनमध्ये प्लग इन करू शकता आणि चमत्काराची वाट पाहत बसू शकता. त्याऐवजी, काही विशिष्ट परिस्थितींमध्ये विशिष्ट समस्या कशा सोडवायच्या यासाठी ते तंत्र आहेत.

जनरेटिव्ह नमुने- डिझाईन नमुने जे इन्स्टंटिएशन प्रक्रियेला अमूर्त करतात. ऑब्जेक्ट्स ज्या प्रकारे तयार केल्या जातात, बनवल्या जातात आणि सादर केल्या जातात त्यापासून ते सिस्टमला स्वतंत्र बनवणे शक्य करतात. क्लास-जनरेटिंग टेम्प्लेट इनहेरिटेड क्लासमध्ये बदल करण्यासाठी इनहेरिटेन्सचा वापर करते आणि ऑब्जेक्ट बनवणारा टेम्प्लेट दुसऱ्या ऑब्जेक्टला इन्स्टंटिएशन सोपवतो.

खालील जनरेटिव्ह नमुने अस्तित्वात आहेत:

साधा कारखाना

ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) मध्ये, कारखानाइतर वस्तू तयार करण्यासाठी एक ऑब्जेक्ट आहे. औपचारिकपणे, फॅक्टरी ही एक फंक्शन किंवा पद्धत आहे जी "नवीन" मानल्या जाणाऱ्या काही मेथड कॉलमधून बदलता येण्याजोग्या प्रोटोटाइप किंवा क्लासच्या वस्तू परत करते.

जीवनातील उदाहरणःकल्पना करा की तुम्हाला घर बांधायचे आहे आणि तुम्हाला दरवाजे हवे आहेत. तुमचा सुतारकामाचा गणवेश घालणे आणि प्रत्येक वेळी जेव्हा तुम्हाला दार हवे असेल तेव्हा दरवाजा बनवणे मूर्खपणाचे ठरेल. त्याऐवजी, तुम्ही ते कारखान्यात बनवा.

सोप्या शब्दात:एक साधा कारखाना क्लायंटसाठी कोणतेही तर्क उघड न करता एक उदाहरण तयार करतो.

चला कोडकडे जाऊया. आमच्याकडे डोअर इंटरफेस आणि त्याची अंमलबजावणी आहे:

इंटरफेस दरवाजा ( सार्वजनिक कार्य getWidth(): float; सार्वजनिक कार्य getHeight(): float; ) वर्ग वुडनडोअर दरवाजा (संरक्षित $width; संरक्षित $height; सार्वजनिक कार्य __construct(float $width, float $height) ( $this-> width = $this->height = $height;

मग आमच्याकडे आमची डोअरफॅक्टरी आहे, जी दरवाजा बनवते आणि परत करते:

क्लास डोअरफॅक्टरी ( सार्वजनिक स्टॅटिक फंक्शन makeDoor($width, $height): दरवाजा (नवीन Woodendoor ($width, $height) परत करा; ))

आणि मग आपण हे सर्व वापरू शकतो:

$door = DoorFactory::makeDoor(100, 200); प्रतिध्वनी "रुंदी: ". $door->getWidth(); प्रतिध्वनी "उंची:" . $door->getHeight();

कधी वापरावे:जेव्हा एखादी वस्तू तयार करणे ही केवळ काही असाइनमेंट नसून एक प्रकारचे तर्कशास्त्र असते, तेव्हा सर्वत्र समान कोडची पुनरावृत्ती करण्याऐवजी स्वतंत्र कारखाना तयार करणे अर्थपूर्ण आहे.

कारखाना पद्धत

कारखाना पद्धत- एक जनरेटिव्ह डिझाइन पॅटर्न जो वर्गाची उदाहरणे तयार करण्यासाठी इंटरफेससह उपवर्ग प्रदान करतो. निर्मितीच्या वेळी कोणता वर्ग निर्माण करायचा हे वारस ठरवू शकतात. दुसऱ्या शब्दांत, हे टेम्पलेट मूळ वर्गाच्या वंशजांना ऑब्जेक्ट्सची निर्मिती सोपवते. हे तुम्हाला प्रोग्राम कोडमधील विशिष्ट वर्ग वापरण्यास अनुमती देते, परंतु उच्च स्तरावर अमूर्त वस्तू हाताळू देते.

जीवनातील उदाहरणःनियुक्ती व्यवस्थापकाचे उदाहरण विचारात घ्या. सर्व पदांसाठी सर्व उमेदवारांची मुलाखत घेणे एका व्यक्तीला अशक्य आहे. रिक्त जागेवर अवलंबून, त्याने वेगवेगळ्या लोकांमध्ये मुलाखतीचे टप्पे वितरित केले पाहिजेत.

सोप्या शब्दात:व्यवस्थापक बाल वर्गांना इन्स्टंटिएशन लॉजिक सोपवण्याचा मार्ग प्रदान करतो.

चला कोडकडे जाऊया. एचआर मॅनेजरबद्दल वरील उदाहरण विचारात घ्या. सुरुवातीला आमच्याकडे मुलाखत घेणारा इंटरफेस आहे आणि त्यासाठी अनेक अंमलबजावणी आहेत:

इंटरफेस मुलाखतकार ( सार्वजनिक कार्य askQuestions(); ) वर्ग विकसक मुलाखत घेणारा ( सार्वजनिक कार्य askQuestions() ( echo "डिझाइन पॅटर्नबद्दल विचारणे!"; ) ) वर्ग समुदाय एक्झिक्युटिव्ह अंमलबजावणी इंटरव्ह्यूअर ( सार्वजनिक कार्य askQuestions() ( प्रतिध्वनी "सह कार्य करण्याबद्दल विचारणे समुदाय ";))

आता आमचे HiringManager तयार करूया:

ॲबस्ट्रॅक्ट क्लास हायरिंग मॅनेजर (// फॅक्टरी मेथड ॲबस्ट्रॅक्ट पब्लिक फंक्शन मेकइंटरव्ह्यूअर(): इंटरव्ह्यूअर; पब्लिक फंक्शन टेकइंटरव्ह्यू() ( $interviewer = $this->makeInterviewer(); $interviewer->askQuestions(); ) )

आणि आता कोणताही बाल वर्ग तो वाढवू शकतो आणि आवश्यक मुलाखतकार देऊ शकतो:

क्लास डेव्हलपमेंट मॅनेजरने हायरिंग मॅनेजर (सार्वजनिक फंक्शन मेकइंटरव्ह्यूअर(): इंटरव्ह्यूअर (नवीन डेव्हलपर परतावा(); ) ) क्लास मार्केटिंग मॅनेजर विस्तारित करतो हायरिंग मॅनेजर (पब्लिक फंक्शन मेकइंटरव्ह्यूअर(): इंटरव्ह्यूअर (नवीन कम्युनिटी एक्झिक्युटिव्ह परत करा(); ) )

वापर उदाहरण:

$devManager = नवीन विकास व्यवस्थापक(); $devManager->इंटरव्यू घ्या(); // आउटपुट: डिझाइन नमुन्यांबद्दल विचारतो! $marketingManager = नवीन MarketingManager(); $marketingManager->इंटरव्ह्यू घ्या(); // आउटपुट: समुदायासह कार्य करण्याबद्दल विचारतो

कधी वापरावे:क्लासमध्ये काही सामान्य प्रक्रिया असताना उपयुक्त, परंतु आवश्यक सबक्लास रनटाइमच्या वेळी गतिमानपणे निर्धारित केला जातो. दुसऱ्या शब्दांत, जेव्हा क्लायंटला माहित नसते की त्याला कोणत्या उपवर्गाची आवश्यकता असू शकते.

गोषवारा कारखाना

गोषवारा कारखाना- एक जनरेटिव्ह डिझाइन पॅटर्न जो त्यांच्या विशिष्ट वर्गांचा उल्लेख न करता परस्पर संबंधित किंवा परस्परावलंबी वस्तूंचे कुटुंब तयार करण्यासाठी इंटरफेस प्रदान करतो. नमुना एक अमूर्त फॅक्टरी वर्ग तयार करून लागू केला जातो, जो सिस्टम घटक तयार करण्यासाठी इंटरफेस प्रदान करतो (उदाहरणार्थ, विंडो इंटरफेससाठी, ते विंडो आणि बटणे तयार करू शकतात). मग या इंटरफेसची अंमलबजावणी करणारे वर्ग लिहिले जातात.

जीवनातील उदाहरणःचला एका साध्या कारखान्यातील दरवाजांबद्दलचे आमचे उदाहरण विस्तृत करूया. तुमच्या गरजेनुसार, तुम्हाला एका दुकानातून लाकडी दरवाजा, दुसऱ्या दुकानातून लोखंडी दरवाजा किंवा तिसऱ्या दुकानातून प्लास्टिकचा दरवाजा लागेल. याव्यतिरिक्त, आपल्याला योग्य तज्ञाची आवश्यकता असेल: लाकडी दरवाजासाठी सुतार, लोखंडी दरवाजासाठी वेल्डर इ. जसे आपण पाहू शकता, दरवाजे दरम्यान एक अवलंबित्व आहे.

सोप्या शब्दात:कारखान्यांचा कारखाना. एक कारखाना जो वैयक्तिक परंतु संबंधित/आश्रित कारखान्यांना त्यांचे विशिष्ट वर्ग निर्दिष्ट न करता गटबद्ध करतो.

चला कोड पाहू. दाराचे उदाहरण घेऊ. प्रथम आमच्याकडे डोअर इंटरफेस आणि त्याची अनेक अंमलबजावणी आहेत:

इंटरफेस दरवाजा ( सार्वजनिक फंक्शन getDescription(); ) वर्ग वुडनडोर इम्प्लिमेंट्स डोअर ( सार्वजनिक फंक्शन getDescription() ( इको "मी एक लाकडी दरवाजा आहे"; ) ) क्लास आयर्नडोर इम्प्लमेंट्स डोअर ( सार्वजनिक कार्य getDescription() ( इको "मी एक लोखंडी दरवाजा आहे ";))

मग आमच्याकडे प्रत्येक दरवाजा प्रकारासाठी अनेक DoorFittingExperts आहेत:

इंटरफेस DoorFittingExpert ( सार्वजनिक फंक्शन getDescription(); ) वर्ग वेल्डर DoorFittingExpert ( सार्वजनिक कार्य getDescription() ( echo "मी फक्त लोखंडी दारांसह काम करतो"; ) ) वर्ग कारपेंटर DoorFittingExpert (सार्वजनिक कार्य getDescription() ( echo "मी फक्त सोबत काम करतो) लागू करतो लाकडी दरवाजे";))

आमच्याकडे आता एक डोअरफॅक्टरी आहे जी आम्हाला संबंधित वस्तूंचे कुटुंब तयार करण्यास अनुमती देईल. म्हणजेच, लाकडी दरवाजा कारखाना आम्हाला एक लाकडी दरवाजा आणि लाकडी दरवाजा तज्ञ प्रदान करेल. त्याचप्रमाणे लोखंडी दारांसाठी:

इंटरफेस डोअरफॅक्टरी ( सार्वजनिक कार्य makeDoor(): दरवाजा; सार्वजनिक कार्य makeFittingExpert(): DoorFittingExpert; ) // लाकडी कारखाना एक लाकडी दरवाजा आणि सुतार वर्ग वुडनडोर फॅक्टरी अवजारे डोअरफॅक्टरी (सार्वजनिक कार्य makeDoor(): दरवाजा (नवीन वुडन डोर परत करेल) ; ) सार्वजनिक कार्य makeFittingExpert(): DoorFittingExpert ( परत नवीन वेल्डर (); ) )

वापर उदाहरण:

$woodenFactory = नवीन WoodenDoorFactory(); $door = $woodenFactory->makeDoor(); $expert = $woodenFactory->makeFittingExpert(); $door->getDescription(); // आउटपुट: मी एक लाकडी दरवाजा आहे $expert->getDescription(); // आउटपुट: मी फक्त लाकडी दारांसह काम करतो // त्याचप्रमाणे लोखंडी दरवाजासाठी $ironFactory = नवीन IronDoorFactory(); $door = $ironFactory->makeDoor(); $expert = $ironFactory->makeFittingExpert(); $door->getDescription(); // आउटपुट: मी एक लोखंडी दरवाजा आहे $expert->getDescription(); // निष्कर्ष: मी फक्त लोखंडी दारांसह काम करतो

जसे तुम्ही बघू शकता, लाकडी दरवाजाचा कारखाना सुतार आणि लाकडी दरवाजाचा अंतर्भाव करतो आणि लोखंडी दरवाजाचा कारखाना एक लोखंडी दरवाजा आणि वेल्डरचा समावेश करतो. यामुळे आम्हाला प्रत्येक दरवाजासाठी आम्हाला आवश्यक असलेले तज्ञ मिळाले आहेत याची खात्री करता आली.

कधी वापरावे:जेव्हा अगदी साध्या निर्मिती तर्कासह परस्परसंबंधित अवलंबित्व असतात.

बिल्डर

बिल्डरएक जनरेटिव्ह डिझाइन पॅटर्न आहे जो संमिश्र ऑब्जेक्ट तयार करण्याचा मार्ग प्रदान करतो. "टेलिस्कोपिक कन्स्ट्रक्टर" अँटीपॅटर्नच्या समस्येचे निराकरण करण्यासाठी डिझाइन केलेले.

जीवनातील उदाहरणःकल्पना करा की तुम्ही मॅकडोनाल्ड्सकडे गेलात आणि विशिष्ट उत्पादनाची ऑर्डर दिली, उदाहरणार्थ, बिग मॅक, आणि त्यांनी कोणतेही प्रश्न न विचारता ते तुमच्यासाठी तयार केले. हे एका साध्या कारखान्याचे उदाहरण आहे. परंतु अशी काही प्रकरणे आहेत जिथे निर्मिती तर्कामध्ये अधिक चरणांचा समावेश असू शकतो. उदाहरणार्थ, तुम्हाला सबवे येथे सानुकूल सँडविच हवे आहे: ते कसे बनवले जाईल यासाठी तुमच्याकडे अनेक पर्याय आहेत. तुम्हाला कोणत्या प्रकारची भाकरी हवी आहे? मी कोणते सॉस वापरावे? काय चीज? अशा परिस्थितीत, "बिल्डर" टेम्पलेट बचावासाठी येतो.

सोप्या शब्दात:टेम्प्लेट तुम्हाला कन्स्ट्रक्टरला गोंधळ न घालता ऑब्जेक्टची भिन्न दृश्ये तयार करण्यास अनुमती देते. जेव्हा एखाद्या वस्तूची अनेक दृश्ये असू शकतात किंवा त्याच्या निर्मितीमध्ये अनेक पायऱ्या असतात तेव्हा ते उपयुक्त ठरते.

"टेलिस्कोपिक कन्स्ट्रक्टर" म्हणजे काय ते मी तुम्हाला उदाहरणासह दाखवतो. एकेकाळी आपण सर्वांनी असा एक कन्स्ट्रक्टर पाहिला:

सार्वजनिक कार्य __construct($size, $cheese = true, $pepperoni = true, $tomato = false, $lettuce = true) ( ​​)

जसे आपण पाहू शकता, कन्स्ट्रक्टर पॅरामीटर्सची संख्या नाटकीयरित्या वाढू शकते, ज्यामुळे पॅरामीटर्सचे स्थान समजणे कठीण होते. याव्यतिरिक्त, तुम्हाला नवीन पर्याय जोडायचे असल्यास पर्यायांची ही यादी वाढतच जाईल. हे "टेलिस्कोपिक कन्स्ट्रक्टर" आहे.

चला कोडमधील उदाहरणाकडे जाऊ या. एक पुरेसा पर्याय म्हणजे "बिल्डर" टेम्पलेट वापरणे. प्रथम आमच्याकडे बर्गर आहे जो आम्हाला तयार करायचा आहे:

वर्ग बर्गर (संरक्षित $आकार; संरक्षित $चीज = खोटे; संरक्षित $पेपेरोनी = खोटे; संरक्षित $लेट्युस = खोटे; संरक्षित $टोमॅटो = खोटे; सार्वजनिक कार्य __कंस्ट्रक्ट(BurgerBuilder $builder) ( $this->size = $builder-> आकार; $this->चीज = $this->pepperoni = $this->letuce = $builder->टोमॅटो;

मग आम्ही "बिल्डर" घेतो:

वर्ग बर्गरबिल्डर ( सार्वजनिक $आकार; सार्वजनिक $चीज = खोटे; सार्वजनिक $पेपेरोनी = खोटे; सार्वजनिक $लेट्युस = खोटे; सार्वजनिक $टोमॅटो = खोटे; सार्वजनिक कार्य __कंस्ट्रक्ट (इंट $ आकार) ( $this->size = $size;) सार्वजनिक कार्य addPepperoni() ( $this->pepperoni = true; परत $this; ) पब्लिक फंक्शन addLettuce() ( $this->lettuce = true; return $this; ) public function addCheese() ( $this->cheese = true; रिटर्न $this;

वापर उदाहरण:

$बर्गर = (नवीन बर्गरबिल्डर(14)) ->addPepperoni() ->addLettuce() ->addTomato() ->build();

कधी वापरावे:जेव्हा ऑब्जेक्टचे अनेक प्रकार असू शकतात आणि "टेलिस्कोपिक कन्स्ट्रक्टर" टाळले पाहिजे. "फॅक्टरी" मधील मुख्य फरक असा आहे की जेव्हा निर्मिती एक पाऊल उचलते तेव्हा त्याचा वापर केला जातो, तर "बिल्डर" वापरला जातो जेव्हा अनेक पायऱ्या असतात.

प्रोटोटाइप

प्रोटोटाइप उदाहरण वापरून तयार करायच्या ऑब्जेक्ट्सचे प्रकार निर्दिष्ट करते आणि या प्रोटोटाइपची कॉपी करून नवीन ऑब्जेक्ट्स तयार करते. हे आपल्याला अंमलबजावणीपासून दूर जाण्याची परवानगी देते आणि आपल्याला "इंटरफेसद्वारे प्रोग्रामिंग" च्या तत्त्वाचे अनुसरण करण्यास अनुमती देते. रिटर्निंग प्रकार हा पदानुक्रमाच्या शीर्षस्थानी इंटरफेस/अमूर्त वर्ग आहे आणि वंशज वर्ग तेथे वंशज बदलू शकतात जे हा प्रकार लागू करतात.

जीवनातील उदाहरणःडॉली आठवते? क्लोन करण्यात आलेली मेंढी. चला अधिक खोलात जाऊ नका, मुख्य गोष्ट अशी आहे की येथे सर्वकाही क्लोनिंगभोवती फिरते.

सोप्या शब्दात:प्रोटोटाइप क्लोनिंग वापरून विद्यमान ऑब्जेक्टवर आधारित ऑब्जेक्ट तयार करतो.

म्हणजेच, हे आपल्याला अस्तित्वात असलेल्या ऑब्जेक्टची एक प्रत तयार करण्यास आणि आपल्या गरजेनुसार आधुनिकीकरण करण्यास अनुमती देते, त्याऐवजी ऑब्जेक्ट सुरवातीपासून तयार करा.

चला कोड पाहू. PHP मध्ये क्लोन वापरून हे सहजपणे लागू केले जाऊ शकते:

वर्ग मेंढी (संरक्षित $नाम; संरक्षित $श्रेणी; सार्वजनिक कार्य __कंस्ट्रक्ट(स्ट्रिंग $नाम, स्ट्रिंग $श्रेणी = "माउंटन शीप") ( $this->name = $name; $this->category = $category; ) सार्वजनिक कार्य setName(string $name) ( $this->name = $name; ) पब्लिक फंक्शन getName() ( $this->name; परत करा; ) public function setCategory(string $category) ( $this->category = $category;) सार्वजनिक कार्य getCategory() ( $this->श्रेणी परत करा; ) )

त्यानंतर ते याप्रमाणे क्लोन केले जाऊ शकते:

$original = नवीन मेंढी("जॉली"); echo $original->getName(); // जॉली इको $original->getCategory(); // Mountain sheep // आम्हाला जे हवे आहे ते क्लोनिंग आणि सुधारित करणे $cloned = clone $original; $cloned->setName("डॉली"); echo $cloned->getName(); // डॉली इको $cloned->getCategory(); // पर्वतीय मेंढी

क्लोनिंग वर्तन बदलण्यासाठी तुम्ही मॅजिक __क्लोन पद्धत देखील वापरू शकता.

कधी वापरावे:जेव्हा अस्तित्वात असलेल्या ऑब्जेक्ट सारखीच एखादी वस्तू आवश्यक असते किंवा जेव्हा निर्मिती क्लोनिंगपेक्षा अधिक महाग असते.

सिंगलटन

एकाकी- एक जनरेटिव्ह डिझाईन पॅटर्न जो हमी देतो की सिंगल-प्रोसेस ऍप्लिकेशनमध्ये काही वर्गाचा एकच प्रसंग असेल आणि त्या उदाहरणासाठी जागतिक प्रवेश बिंदू प्रदान करतो.

जीवनातील उदाहरणःएका देशाला एका वेळी एकच राष्ट्राध्यक्ष असू शकतो. जेव्हा परिस्थिती आवश्यक असते तेव्हा त्याच अध्यक्षाने कार्य केले पाहिजे. येथील अध्यक्ष एकटे आहेत.

सोप्या शब्दात:तयार होत असलेली वस्तू ही त्याच्या वर्गाची एकमेव वस्तू असल्याची खात्री करते.

सर्वसाधारणपणे, सिंगलटन पॅटर्नला अँटीपॅटर्न म्हणून ओळखले जाते; हे अपरिहार्यपणे वाईट नाही आणि त्याचे उपयुक्त उपयोग असू शकतात, परंतु ते सावधगिरीने वापरले पाहिजे कारण ते आपल्या अनुप्रयोगामध्ये जागतिक स्थितीचा परिचय देते आणि ते एकाच ठिकाणी बदलल्याने अनुप्रयोगाच्या इतर भागांवर परिणाम होऊ शकतो, ज्यामुळे डीबग करणे कठीण होते. दुसरा तोटा म्हणजे तो तुमचा कोड जोडतो.

नोंद भाषांतर

मध्ये सिंगलटन टेम्प्लेटच्या तोट्यांबद्दल अधिक वाचा.

चला कोडकडे जाऊया. सिंगलटन तयार करण्यासाठी, कन्स्ट्रक्टर खाजगी करा, क्लोनिंग आणि विस्तार अक्षम करा आणि उदाहरण ठेवण्यासाठी एक स्थिर व्हेरिएबल तयार करा:

वापर उदाहरण:

फायनल क्लास प्रेसिडेंट (खाजगी स्टॅटिक $instance; खाजगी फंक्शन __construct() ( // कन्स्ट्रक्टर लपवत आहे) सार्वजनिक स्टॅटिक फंक्शन getInstance(): प्रेसिडेंट ( if (!self::$instance) ( self::$instance = new self() ;) स्वत: ला परत करा::$instance;

$president1 = President::getInstance(); $president2 = President::getInstance(); var_dump($president1 === $president2); // खरे

ड्रिलिंग होलसाठी टेम्पलेट्स एका भागामध्ये आवश्यक संख्येची छिद्रे द्रुतपणे ड्रिल करण्यात मदत करतात आणि सर्वात महत्त्वाचे म्हणजे ते शक्य तितक्या अचूकपणे करा. ते प्लास्टिक, धातू, छप्पर वाटले, छप्पर वाटले, लाकूड आणि इतर साहित्य बनलेले आहेत. शिवाय, सामग्री अंतिम भागावर अवलंबून असते. ते अतिरिक्त साधनांसह सुसज्ज देखील असू शकतात, उदाहरणार्थ, शासक. अशा टेम्पलेट्सचा उद्देश हँडल, बिजागर आणि इतर गोष्टींसाठी कार्यात्मक छिद्र तयार करणे आहे.

टेम्पलेट्स बनविण्याची वैशिष्ट्ये

  • उत्पादन तयार करताना, खालील प्रक्रिया वापरल्या जातात:
  • चिन्हांकित करणे - भाग काढण्याची प्रक्रिया;

बास्टिंग ही आकृती, छिद्रांचे केंद्र आणि कटआउट्स काढण्याची प्रक्रिया आहे.

बँड सॉ, गोलाकार सॉ किंवा जॉइंटर वापरून लाकडी टेम्पलेट तयार केले जातात. याव्यतिरिक्त, प्लायवुड, पुठ्ठा आणि कथील कापण्यासाठी कात्री वापरली जातात. टेम्प्लेटमधील छिद्र छिद्र पंचिंग प्रेस वापरून केले जातात. मास्टरचे कार्यस्थळ 100 मिमी चौरसांसह मुद्रित समन्वय ग्रिडसह रेखाचित्र चिन्हांकित सारणी आहे. सर्वात सोपा टेबल लाकडी ट्रेस्टल सपोर्टवर ठेवलेल्या स्टीलच्या शीटपासून बनविला जातो. टेम्पलेट कॅनव्हासवर अधिक अचूक छिद्रे तयार करण्यासाठी ग्रिड आदर्श आहे.

टेम्पलेट्सची व्याप्ती

शीट आणि रॅक टेम्पलेट्स अनुप्रयोगात लक्षणीय भिन्न आहेत. रॅक (सामान्यतः लाकडापासून बनविलेले) 1 मीटरपेक्षा जास्त लांबीचे भाग चिन्हांकित करण्यासाठी योग्य आहे, उदाहरणार्थ कोपरे, आय-बीम, चॅनेल. पेन्सिल आणि शासक वापरून आवश्यक परिमाणे आणि छिद्रे रेल्वेमध्ये हस्तांतरित केली जातात, परंतु एका टेम्पलेट रेल्वेवर अनेक भिन्न भाग चिन्हांकित करणे आवश्यक असल्यास, बहु-रंगीत पॉइंटर वापरा.

त्वरीत लहान शीट भाग तयार करण्यासाठी (1 मी 2 पेक्षा जास्त नाही), कार्डबोर्ड, छप्पर वाटले, प्लायवुड आणि छप्पर घालणे वापरले जाते. सामग्रीवर टेम्पलेट शीट ठेवली जाते आणि त्यावर सर्व छिद्रे चिन्हांकित केली जातात आणि बाह्यरेखा कापली जाते. भागांवरील समोच्च रेषा कोर वापरून काढल्या जातात, 20-30 सेमी अंतरावर 2-3 मिमी इंडेंटेशन्स ठोकतात, जर ते शीट स्टील किंवा समान घनतेचे साहित्य असेल. एकत्रित टेम्पलेट पर्याय देखील आहेत जे सर्व मॉडेलचे गुणधर्म एकत्र करतात आणि आपल्याला कोणत्याही उत्पादनासह कार्य करण्याची परवानगी देतात.

वर्ड टेक्स्ट प्रोसेसर. टेम्पलेट्स आणि त्यांचा उद्देश. दस्तऐवजांची शैली डिझाइन

वारंवार विचारले जाणारे प्रश्न- ही एक विशेष फाइल आहे ज्यामध्ये दस्तऐवज स्वरूपन पॅरामीटर्स आणि संबंधित स्वयं-स्वरूपण करण्यासाठी आवश्यक असलेली सर्व साधने आहेत.

टेम्पलेटमध्ये मुख्य दस्तऐवज घटकांचे स्वरूप परिभाषित करणारे विविध घटक आहेत, जे या टेम्पलेटमधून तयार केलेल्या सर्व दस्तऐवजांमध्ये उपलब्ध आहेत. टेम्पलेट्समध्ये केलेले बदल त्यांच्या आधारे तयार केलेल्या दस्तऐवजांमध्ये स्वयंचलितपणे हस्तांतरित केले जातात.

Word मध्ये मानक दस्तऐवजांसाठी तयार टेम्पलेट्सची मोठी यादी आहे जसे की: मेमो, अहवाल, व्यवसाय पत्रे, रेझ्युमे इ.

तुम्ही फॉरमॅट मेनूच्या थीम कमांड डायलॉग बॉक्समधील स्टाइल लायब्ररी बटणावर क्लिक करून विशिष्ट टेम्पलेटवर आधारित दस्तऐवजाची सामग्री आणि स्वरूप पाहू शकता.

फॉरमॅट मेनूची शैली कमांड सक्रिय दस्तऐवज किंवा टेम्पलेटशी इतर टेम्पलेट्सच्या घटकांना जोडते. कमांड डायलॉग बॉक्समधील ऑर्गनायझर बटणावर क्लिक करून, तुम्ही विविध स्वरूप घटक कॉपी, हटवू किंवा पुनर्नामित करू शकता. दस्तऐवज घटकांच्या डिझाइनचे वर्णन आहे, जे एका विशिष्ट नावाखाली संग्रहित केले जाते.

शैलींच्या मदतीने, मजकूर आपोआप स्वरूपित केला जातो, जे डिझाइनवरील वेळेची लक्षणीय बचत करते आणि मानक पातळी सुनिश्चित करते. दोन प्रकारच्या शैली आहेत:

  • परिच्छेद शैली मजकूराच्या परिच्छेदांशी संबंधित माहिती संग्रहित करते: ओळ अंतर, पहिल्या ओळीचे स्थान, संरेखन इ.
  • वर्ण शैली वैयक्तिक वर्णांबद्दल माहिती संग्रहित करतात: फॉन्ट, शैली, रंग इ.

या शैली फक्त निवडलेल्या मजकुरावर लागू केल्या जातात.

नवीन शैली पाहणे, बदलणे आणि तयार करणे, तसेच त्यांना निवडलेल्या मजकुरावर लागू करणे, फॉरमॅट मेनूच्या शैली कमांडद्वारे केले जाते. ही आज्ञा कार्यान्वित केल्यानंतर, स्क्रीनवर शैली संवाद बॉक्स दिसेल.

सर्व शैली सहसा तीन श्रेणींमध्ये विभागल्या जातात:

  • दस्तऐवज टेम्पलेटमध्ये उपलब्ध सर्व काही;
  • दस्तऐवजात वापरले;
  • वापरकर्त्याने तयार केलेल्या सानुकूल शैली. तुम्ही ड्रॉप-डाउनमध्ये शैली श्रेणी निवडू शकताशैली डायलॉग बॉक्समध्ये सूची. शैली सूचीमध्ये विशिष्ट प्रकारची शैली निवडली जाते आणि परिच्छेद आणि वर्णांच्या डिझाइनचे उदाहरण डायलॉग बॉक्सच्या डेमो फील्डमध्ये दर्शविले आहे आणि शैलीचे मौखिक वर्णन खाली दिले आहे.

लागू करा बटण सक्रिय दस्तऐवजासाठी शैली सेटिंग्ज नियुक्त करते.

नवीन बटण नवीन परिच्छेद किंवा वर्ण शैली तयार करते. नवीन शैलीसाठी, त्यातील सर्व घटकांचे स्वरूप सेट केले आहे (स्वरूप बटण).

दस्तऐवज टेम्पलेटमध्ये शैली समाविष्ट केली जाऊ शकते आणि अशा प्रकारे या टेम्पलेटवर आधारित तयार केलेल्या सर्व दस्तऐवजांसाठी उपलब्ध होऊ शकते. एडिट बटण वापरून तुम्ही विद्यमान शैलीमध्ये आवश्यक बदल करू शकता. हटवा बटण निवडलेली शैली हटवते.

ऑर्गनायझर बटण शैली कॉपी करण्यासाठी विंडो उघडते (दस्तऐवजातून टेम्पलेटवर, एका टेम्पलेटवरून दुसऱ्या टेम्पलेटवर), तसेच टेम्पलेट्स आणि दस्तऐवजांमधील शैली हटवण्यासाठी.

फॉरमॅट मेनूच्या थीम कमांडमधील स्टाइल लायब्ररी बटणावर क्लिक केल्यास त्याच नावाचा डायलॉग बॉक्स दिसेल. ही विंडो तुम्हाला निवडलेल्या टेम्पलेटमधील शैली कॉपी करून सक्रिय दस्तऐवजाचे स्वरूपन बदलण्याची परवानगी देते आणि निर्दिष्ट टेम्पलेटच्या शैलींसह स्वरूपित केल्यास दस्तऐवज कसा दिसेल ते पहा. तुम्ही टेम्पलेट नावावर डबल-क्लिक केल्यास, शैली सक्रिय दस्तऐवजाशी संलग्न टेम्पलेटमध्ये कॉपी केल्या जातील.



आम्ही वाचण्याची शिफारस करतो

वर