-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Бочаров Александр #12
base: master
Are you sure you want to change the base?
Conversation
… поиск каждый раз с центра раскладки
…e-name на само название и формат
- Тесты для ридеров .csv и .docx файлов - Тест для CloudGenerator
- Тесты для ридеров .csv и .docx файлов - Тест для CloudGenerator
{ | ||
var container = BuildContainer(settings); | ||
var generator = container.Resolve<CloudGenerator>(); | ||
Console.WriteLine("File saved in " + generator.GenerateTagCloud()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Это похоже на точку расширения)
Например, мы захотим написать десктоп или Web интерфейс для этого.
Тогда в каждом таком "клиенте" будет дублирование подобного кода.
Как понимаешь, вопрос ко всему файлу и архитектуре этого клиента)
TagCloudClient/Program.cs
Outdated
builder.RegisterType<BoringWordsFilter>().As<IWordsFilter>(); | ||
} | ||
|
||
private static void RegisterLayouters(ContainerBuilder builder, Options settings) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А тут нужен Options
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Вопрос даже чуть более глубокий: нужен ли он хоть где-то, кроме RegisterSettings
?
Если он нужен еще где-то, то как будто абстракция протекает))
var enumerable = expectedEnumerable.Take(elementsNumber).ToList(); | ||
|
||
using var enumerator = enumerable.GetEnumerator(); | ||
var actualEnumerable = enumerator.ToIEnumerable(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А в чем прикол?)
Объясни пж, я правда не понимаю
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ToIEnumerable
вроде бы даже нигде кроме тестов не используется, хелпани плиз)
|
||
public interface IWordsFilter | ||
{ | ||
List<string> ApplyFilter(List<string> words); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NIT: а почему тут List
?)
Принимать более обобщенный тип ведь правильно
@@ -0,0 +1,8 @@ | |||
namespace TagCloud.WordsReader; | |||
|
|||
public static class EnumerableExtensions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Вроде бы только один раз используется, и тот в тестах)
@@ -0,0 +1,6 @@ | |||
namespace TagCloud.WordsReader; | |||
|
|||
public interface IWordsReader |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Такой вопрос: а если мы захотим сделать через веб? У нас будет какая-то формочка, куда мы будем вводить данные. Как в такой архитектуре, мы сможем поддержать этот сценарий?
@@ -0,0 +1,3 @@ | |||
namespace TagCloud.ImageSaver; | |||
|
|||
public record FileSaveSettings(string ImageName, string ImageFormat); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А если мы захотим сделать сохранение на яндекс диск, то какие settings нужно будет передать?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Я к тому, что, возможно, передавать Settings в конструкторе - может стать узким горлышком.
Но сразу скажу, что нет, просто хочу послушать твои мысли)
…ый класс SettingsBuilder.cs, который зависит от нового интерфейса IOptions.cs
-Внедрил в Program.cs класс SettingsBuilder.cs -В SettingsFactory.cs теперь зависимость от интерфейса
@masssha1308