background preloader

Design Patterns

Design Patterns
It has been highly influential to the field of software engineering and is regarded as an important source for object-oriented design theory and practice. More than 500,000 copies have been sold in English and in 13 other languages. The authors are often referred to as the Gang of Four (GoF).[1] History[edit] Introduction, Chapter 1[edit] Chapter 1 is a discussion of object-oriented design techniques, based on the authors' experience, which they believe would lead to good object-oriented software design, including: clients remain unaware of the specific types of objects they use, as long as the object adheres to the interfaceclients remain unaware of the classes that implement these objects; clients only know about the abstract class(es) defining the interface Use of an interface also leads to dynamic binding and polymorphism, which are central features of object-oriented programming. The authors admit that delegation and parameterization are very powerful but add a warning: Formatting[edit]

How to build your own Linux distro Since Manchester University's Owen Le Blanc released MCC Interim Linux (generally agreed to have been the first Linux distribution), way back in 1992, there have been hundreds of ways to get the world's favourite free software operating system on to a computer. The diversity of alternatives reflects the diversity in the development community, with distros split along technical, functional, linguistic and even ideological lines. There have been large distros, tiny ones, bleeding edge and rock-solid stable distros. Easy for the newbie to install, or downright impenetrable to the uninitiated. Created exclusively with free software as a badge of pride, or so proprietary in attitude that not even the toolchain was fully GNU (hello Red Flag Server 4.1, built with the Intel compiler in 2004). So with all the variety that's already out there, why would anyone want to create their own distro? What this amounts to is that it doesn't take much to warrant a new distro. Which base? The simple choices

Entity Framework - VS 2010 Achieve Flexible Data Modeling With The Entity Framework Elisa Flasko The ADO.NET Entity Framework is almost here! There were numerous articles following the initial release of Visual Studio 2008 focusing on LINQ to SQL, as well as articles addressing which technology to use (see msdn.microsoft.com/data). The Microsoft® Entity Data Model (EDM), based on Dr. Why Another Data Model? So why was another model needed? Custom solutions that separated the structure of data from the application being built were common. The EDM (see the sample illustrated in Figure 1) allows the definition of a domain model that is consistent with the way an organization thinks about and uses its data, rather than the way that data is stored. Figure 1 Sample Entity Data Model for a Blogging Database (Click the image for a larger view) With one core data model, application maintenance is simplified. So in short, why did we create a new data modeling technology in the first place? Why Describe the EDM with XML?

C# Tweaks All articles and source code are under the Visual C# Kicks license agreement Hide Articles Aspect Ratio Form 3.91/5 Create C# Windows Form that keeps its aspect ratio as it is being resized without any flickering. Vista-Style Task Dialog 3.86/5 Integrate the visually-appealing TaskDialog Vista control into your C# applications, which works even on old versions of Windows. Splash Screens 3.83/5 Add a splash screen to C# applications based on any kind of image, shadows and transparency fully supported. Angle and Altitude User Controls 3.82/5 Two clean user controls written in C# to mimic the Photoshop angle and altitude selectors. WinForm Resize Animation 3.79/5 Applying concepts of WinForm animation to create a smooth resizing animation effect. Numbers-Only Textbox 3.71/5 Different ways to allow users to only write numbers in a Windows Form Textbox. Aero Shake Form 3.68/5 Implement the new Window 7 Aero Shake feature in C# Windows Forms with simple .NET code. Click-and-Drag Form 3.64/5 Box Blur 3.53/5

Active Template Library Active Template Library (ATL) — набор шаблонных классов языка C++, разработанных компанией Microsoft для упрощения написания COM-компонентов. Эта библиотека позволяет разработчикам создавать различные объекты COM, серверы автоматизации OLE и управляющие элементы ActiveX. Среда разработки Visual Studio включает мастера и помощники для ATL, позволяющие создать первичную объектную структуру практически без программирования вручную. Например, управление интернет-магазином может быть реализовано с помощью Microsoft Foundation Classes. Но для передачи по сети размер магазина должен быть небольшим. См. также[править | править исходный текст] ATL Server Ссылки[править | править исходный текст] Grimes, Richard (1998).

Microsoft Foundation Classes Пакет Microsoft Foundation Classes (MFC) — библиотека на языке C++, разработанная Microsoft и призванная облегчить разработку GUI-приложений для Microsoft Windows путем использования богатого набора библиотечных классов. Принцип действия[править | править исходный текст] Библиотека MFC, как и её основной конкурент, Borland VCL, облегчает работу с GUI путем создания каркаса приложения — «скелетной» программы, автоматически создаваемой по заданному макету интерфейса и полностью берущей на себя рутинные действия по его обслуживанию (отработка оконных событий, пересылка данных между внутренними буферами элементов и переменными программы и т. п.). Программисту после генерации каркаса приложения необходимо только вписать код в места, где требуются специальные действия. Каркас должен иметь вполне определенную структуру, поэтому для его генерации и изменения в Visual C++ предусмотрены мастера. Добавление кода в каркас приложения[править | править исходный текст]

Entity Framework Code First и Domain Driven Design: защищаем коллекции 24 июня 2013 в 16:09 В мире DDD все крутится вокруг домена. Все бизнес правила живут внутри доменных сущностей либо доменных сервисов. public class Category { public Category() { _categories = new Collection<Category>(); } public string Name { get; protected set; } private readonly ICollection<Category> _categories; public IEnumerable<Category> Categories { get { return _categories; } } public void AddCategory(Category category) { if (category.Name == Name) throw new InvalidOperationException(); _categories.Add(category); } } NHibernate с легкостью позволяет мапить такие связи, но Entity Framework предполагает только использование конструкций вида: public class Category { public Category() { Categories = new Collection<Category>(); } public ICollection<Category> Categories { get; protected set; } } Предложенный EF подход позволяет обратиться к нашей коллекции из любой части приложения, игнорируя необходимые бизнес правила. Пример использования:

Внедрение зависимости (перенаправлено с «Dependency Injection») Внедрение зависимости (англ. Dependency injection, DI) — процесс предоставления внешней зависимости программному компоненту. Является специфичной формой «инверсии управления» (англ. Inversion of control), где изменение порядка связи осуществляется путём получения необходимой зависимости. Принцип работы[править | править исходный текст] Работа фреймворка, обеспечивающая внедрение зависимости, описывается следующим образом. Примеры кода[править | править исходный текст] При использовании внедрения зависимостей, как правило, существует конфигурационный механизм или архитектура, которая определяет целесообразность выбора той или иной реализации в зависимости от поставленных целей. Пример кода на Java[править | править исходный текст] Без использования dependency injection[править | править исходный текст] Внедрение зависимости вручную[править | править исходный текст] Внедрение зависимости при помощи фреймворка[править | править исходный текст]

NET development is a very popular framework these days « .NET Programmers .NET programmers could effectively perform .NET development using the frameworks software development kit as well as the tools that allow for quick building and deploying robust apps. The use of the tools in the framework offers benefits that include the following: 1. Application integration via ASP.NET 2. Feature-rich and fully managed application-execution environment 3. 4. The .NET development SDK from Microsoft contains libraries, header files, documentation, samples and tools that are required in developing apps for the .NET framework and Microsoft Windows. Below are some of the .NET developments tools that .NET programmers should not forget to have: 1. 7-Zip is a file archiver that has high compression ratio 2. 3. 4. 5. 6. 7. 8. 9. 10. Microsoft has developed the .NET framework as the most complete solution for deploying, building, operating and aggregating web services.

Related: