powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Паттерны в asp.net mvc
29 сообщений из 29, показаны все 2 страниц
Паттерны в asp.net mvc
    #37913169
Kane_sql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какие паттерны возможно использовать в asp mvc, поделитель кто может опытом исепользования паттернов в вэб приложении, я пока что нашел немного из тех паттернов которые используются, и которые в книжках, например: dependency injection, factory (ControllerFactory в данном случае), repository.
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37913188
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мало вижу свяязи между якобы зависимостью с asp mvc.Если ексть задача и вы видете решение с помощью какого либо патерна вперед..Применять паттерн ради паттерна чуш.
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37913202
Kane_sql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вдруг не получиться увидеть решение с помощью паттерна в той ситуации в которой он необходим, есть какие-либо стандартные часто встречающиеся ситуации в которых необходимо применение того или иного паттерна?
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37913209
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Советую прочитать книжку Р.С. Мартина, М.Мартин "Принципы, паттерны и методики гибкой разработки на языке C#", если не читали. Все понятно и доступно написано. Все приходит с опытом потому что паттерн может усложнить вам жизнь когда можно было б и без него, собствено в книжке этой написано что надо думать при выборе направления развития кода.
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37913230
Kane_sql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за книжку прочитаю в будущем, просто если судить по существующим книжкам стивена сэндерсона и тьюториалам(nerd dinner к примеру) ну или просто создавая контроллер с репозиторием на базе mvc scaffolding( в котором создается данный контроллер с шаблоном репозитория и иньекцией зависимости), то можно сказать что dependency injection, IoC, Repository и factory - достаточно часто используемые шаблоны, хотелось бы узнать что еще можно отнести к так называемым must have шаблонам в вэб приложении?
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37913240
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как на этих паттернах хелловорлды пишутся? Я не смеюсь. Хотелось бы простых примерчиков.
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37913266
Kane_sql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergeА как на этих паттернах хелловорлды пишутся? Я не смеюсь. Хотелось бы простых примерчиков.
1. http://www.mikesdotnetting.com/Article/117/Dependency-Injection-and-Inversion-of-Control-with-ASP.NET-MVC (factory, repository, dependency injection)
2. http://nerddinnerbook.s3.amazonaws.com/Part12.htm - (Repository, dependency injection)
3. http://www.programgood.net/2011/03/10/SteveSandersonMvcScaffolding.aspx (Repository, dependency injection)
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37913316
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kane_sqlКакие паттерны возможно использовать в asp mvc, поделитель кто может опытом исепользования паттернов в вэб приложении, я пока что нашел немного из тех паттернов которые используются, и которые в книжках, например: dependency injection, factory (ControllerFactory в данном случае), repository. - Забейте...
В ASP.Net MVC - никакие . Это уже конкретная реализация одного из семейства.
Но, если брать дотНет в целом - то любые...
Кста - вебформс, это тоже MVC, а точнее, его разновидность: Document-View...
Делиться опытом использования паттернов - все равно что делиться вчерашним опытом в "снятии" женского пола в кабаке . В одном случае прокатит - в другом нет. Нужно понимание ситуации.
Потому-то их (паттернов) хренова тыща... Если будет опыт и четкое видение мух на котлетах - то паттерн получится сам собою...
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37913328
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kane_sqlShSergeА как на этих паттернах хелловорлды пишутся? Я не смеюсь. Хотелось бы простых примерчиков.
1. http://www.mikesdotnetting.com/Article/117/Dependency-Injection-and-Inversion-of-Control-with-ASP.NET-MVC (factory, repository, dependency injection)
2. http://nerddinnerbook.s3.amazonaws.com/Part12.htm - (Repository, dependency injection)
3. http://www.programgood.net/2011/03/10/SteveSandersonMvcScaffolding.aspx (Repository, dependency injection)
Это ладно. А хелловорлд как пишется?
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37913384
Kane_sql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergeKane_sqlпропущено...

1. http://www.mikesdotnetting.com/Article/117/Dependency-Injection-and-Inversion-of-Control-with-ASP.NET-MVC (factory, repository, dependency injection)
2. http://nerddinnerbook.s3.amazonaws.com/Part12.htm - (Repository, dependency injection)
3. http://www.programgood.net/2011/03/10/SteveSandersonMvcScaffolding.aspx (Repository, dependency injection)
Это ладно. А хелловорлд как пишется?
Чем не хелло ворлд?
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37976738
dmax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
handmadeFromRu,
а есть в электронном варианте книженция? весь интернет обрыскал, ну нигде нет, чесслово, только англ. издание(((
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37976743
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmaxhandmadeFromRu,
а есть в электронном варианте книженция? весь интернет обрыскал, ну нигде нет, чесслово, только англ. издание(((
Неа, я с озона заказывал
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37976779
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuСоветую прочитать книжку Р.С. Мартина, М.Мартин "Принципы, паттерны и методики гибкой разработки на языке C#", если не читали. Все понятно и доступно написано. Все приходит с опытом потому что паттерн может усложнить вам жизнь когда можно было б и без него, собствено в книжке этой написано что надо думать при выборе направления развития кода.

Для вэба это скорее вредная книга, какие-то неправильные там шаблоны.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
public class Db
{
private static SqlConnection connection;
public static void Init()
{
string connectionString =
"Initial Catalog=QuickyMart;" +
"Data Source=marvin;" +
"user id=sa;password=abc;";
connection = new SqlConnection(connectionString);
connection.Open();
}
public static void Store(ProductData pd)
{
SqlCommand command = BuildInsertionCommand(pd);
command.ExecuteNonQuery();
}
private static SqlCommand
BuildInsertionCommand(ProductData pd)
{
string sql =
"INSERT INTO Products VALUES (@sku, @name, @price)";
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.Add("@sku", pd.sku);
command.Parameters.Add("@name", pd.name);
command.Parameters.Add("@price", pd.price);
return command;
}
public static ProductData GetProductData(string sku)
{
SqlCommand command = BuildProductQueryCommand(sku);
IDataReader reader = ExecuteQueryStatement(command);
ProductData pd = ExtractProductDataFromReader(reader);
reader.Close();
return pd;
}
private static
SqlCommand BuildProductQueryCommand(string sku)
{
string sql = "SELECT * FROM Products WHERE sku = @sku";
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.Add("@sku", sku);
return command;
}
private static ProductData
ExtractProductDataFromReader(IDataReader reader)
{
ProductData pd = new ProductData();
pd.Sku = reader["sku"].ToString();
pd.Name = reader["name"].ToString();
pd.Price = Convert.ToInt32(reader["price"]);
return pd;
}
public static void DeleteProductData(string sku)
{
BuildProductDeleteStatement(sku).ExecuteNonQuery();
}
private static SqlCommand
BuildProductDeleteStatement(string sku)
{
string sql = "DELETE from Products WHERE sku = @sku";
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.Add("@sku", sku);
return command;
}
private static IDataReader
ExecuteQueryStatement(SqlCommand command)
{
IDataReader reader = command.ExecuteReader();
reader.Read();
return reader;
}
public static void Close()
{
connection.Close();
}
}



или вот еще. Передавать открытое соединение в конструктор конечно можно, если аккуратно, но зачем это в вэбе, где экземпляр после выполнения какого-то одного метода обычно отправляется в мусор.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
public class DbOrderGateway : OrderGateway
{
private readonly ProductGateway productGateway;
private readonly SqlConnection connection;
public DbOrderGateway(SqlConnection connection,
ProductGateway productGateway)
{
this.connection = connection;
this.productGateway = productGateway;
}
public void Insert(Order order)
{
string sql = "insert into Orders (cusId) values (@cusId)" +
"; select scope_identity()";
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.Add("@cusId", order.CustomerId);
int id = Convert.ToInt32(command.ExecuteScalar());
order.Id = id;
InsertItems(order);
}
public Order Find(int id)
{
string sql = "select * from Orders where orderId = @id";
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.Add("@id", id);
IDataReader reader = command.ExecuteReader();
Order order = null;
if(reader.Read())
{
string customerId = reader["cusId"].ToString();
order = new Order(customerId);
order.Id = id;
}
reader.Close();
if(order != null)
LoadItems(order);
return order;
}
private void LoadItems(Order order)
{
string sql =
"select * from Items where orderId = @orderId";
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.Add("@orderId", order.Id);
IDataReader reader = command.ExecuteReader();
while(reader.Read())
{
string sku = reader["sku"].ToString();
int quantity = Convert.ToInt32(reader["quantity"]);
Product product = productGateway.Find(sku);
order.AddItem(product, quantity);
}
}
private void InsertItems(Order order)
{
string sql = "insert into Items (orderId, quantity, sku)" +
"values (@orderId, @quantity, @sku)";
foreach(Item item in order.Items)
{
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.Add("@orderId", order.Id);
command.Parameters.Add("@quantity", item.Quantity);
command.Parameters.Add("@sku", item.Product.Sku);
command.ExecuteNonQuery();
}
}
}
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37976820
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexДля вэба это скорее вредная книга, какие-то неправильные там шаблоны.

rly?) вообще то там общие паттерны, без специфики чего либо. Если у прогера нет головы, то как бы не в книге дело.
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37976830
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexДля вэба это скорее вредная книга, какие-то неправильные там шаблоны.С этого места поподробнее:
- чем данные шаблоны не правильны для веба?
- какие тогда правильные?
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977061
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA - чем данные шаблоны не правильны для веба?
- какие тогда правильные?

Не представляю, как может работать в вэбе соединение в статической переменной. Или зачем передавать готовое соединение в конструктор? Ну да, встречал случаи, когда открытое соединение хранилось в сессии, в основном это вызывало глюки и проблемы.
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977088
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дайте номер страницы откуда вы скопипастили этот код, погляжу в понедельник в книжке, о чем атм реч идет.
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977096
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,

649, 669
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977269
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Starlex, в русском издании нет приведённого Вами кода на обозначенных страницах :)
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977271
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexНе представляю, как может работать в вэбе соединение в статической переменной.MultipleActiveResultSets="true" и будет работать. В своей практике я с этим экспериментировал, когда второе своё приложение под веб писал, в итоге не стал использовать статического соединения :)
StarlexИли зачем передавать готовое соединение в конструктор? Ну да, встречал случаи, когда открытое соединение хранилось в сессии, в основном это вызывало глюки и проблемы.Зачастую требуется выполнить ряд операции в рамках одного соединения. К примеру создать и заполнить пару-тройку временных таблиц и вызвать процедуру обработки этих данных.
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977273
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Starlex, в русском издании книги Р.С. Мартина и М. Мартина на системе расчёта заработной платы принципы проетирования отрабатываются. Откда Вы всё-таки взяли код про заказы и продукты? :)
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977325
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAStarlex, в русском издании книги Р.С. Мартина и М. Мартина на системе расчёта заработной платы принципы проетирования отрабатываются. Откда Вы всё-таки взяли код про заказы и продукты? :)

Наверное, это другое издание
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977352
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЗачастую требуется выполнить ряд операции в рамках одного соединения. К примеру создать и заполнить пару-тройку временных таблиц и вызвать процедуру обработки этих данных.

Да, согласен, бывает еще нужно одновременно сохранить несколько объектов, я в этих случаях пользовался IDbTransaction. Но тоже спорный подход, при ошибках, когда эти транзакции начинают откатываться, может происходить сильное замедление работы и ошибки взаимоблокировок.

Считается, что лучший подход для производительности - это переложить создание временных таблиц и т.д в хранимые процедуры.
Даже когда нужно в одной транзакции сохранить несколько объектов, которые реализованы в нескольких классах, то не пользоваться IDbTransaction, а реализовать транзакцию в ХП, куда передать xml этих объектов. Реализация более трудоемкая, но производительность выше.
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977372
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977385
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexСчитается, что лучший подход для производительности - это переложить создание временных таблиц и т.д в хранимые процедуры.Вы о глобальных временных таблицах? Потому как если создать локальную временную таблицу в хп, то она будет жить только до конца хп :)
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977387
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuStarlex
http://www.ozon.ru/context/detail/id/5800704/ В русском издании код от Starlex находится в главе 34: Заместитель и Шлюз.
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977625
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну раздули. паттерны есть обобщение некоторых практик. это не панацея, которая излечит от криворукости... правильно про то что они голову не заменяют. практик много, применяются нужные... книжки нужны именно для теоретического освоения лучших, но это не значит что вместо сосредоточения на коде нужно думать только о правильном применении пата из книжки...
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977627
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mvc по сути тож пат пользовательского интерфейса. Di и фабрики вообще типичны для любого ооп. ну и т.п.
...
Рейтинг: 0 / 0
Паттерны в asp.net mvc
    #37977673
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_titeevНу раздули.Что раздули? Заострили внимание на примерах из конкретной книжки и только. :)
...
Рейтинг: 0 / 0
29 сообщений из 29, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Паттерны в asp.net mvc
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]