タグ

2018年7月11日のブックマーク (12件)

  • モバイルアプリアーキテクチャ勉強会 - Qiita

    public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(msg, "The onCreate() event"); } } つまり M-VC iOS も Android も View と Controller がまとめられてる M-VC なコードになる Model, ViewController という関係性 テストがかけない... だから設計談義が盛り上がる アーキテクチャを導入する目的 保守性の高いコード FatController にしない テストのかきやすい構成へ 考え

    モバイルアプリアーキテクチャ勉強会 - Qiita
  • iOS Clean Architecture - 騒音のない世界 BLOG

    iOS その2 Advent Calendar 2016 15日目の記事です。 現在業務で製作中のアプリではClean Architectureを採用しています。アプリ自体はまだリリースされていないのですが、少しずつ全体像は見えてきたのでClean Architectureの概要と合わせて具体的な実装例の紹介と現時点での所感などを書きたいと思います。 Clean Architecture とは 概要 iOSアプリにおける実装 3つのグループ分け Presentation Domain Data 所有関係・依存関係 Clean Architectureから外れたもの メリット・デメリット メリット テスタビリティが向上する 再利用性が向上する 機能を置き換えやすくなる 見通しが良くなる デメリット 学習コストが高い 面倒なことが多い ライブラリやSDKの設計思想とい違う 最後に 参考文献

    iOS Clean Architecture - 騒音のない世界 BLOG
    yatata
    yatata 2018/07/11
  • iOSアプリにおけるソフトウェアアーキテクチャパターンの考察

    私が試したことのあるiOSアプリでのソフトウェアアーキテクチャパターンとそれに関わるフレームワークの考察です。実際に使ってみて考えたことや感じたことを元に書いていきます。 基のMVCコントローラが肥大化することやモデルレイヤーの設計が明確でないなどの問題があるといわれています。しかし、比較的小さいプロジェクトではたいてい肥大化の心配もモデルレイヤーの詳細な設計も必要ないのでMVCを選択すると良いと思います。 MVVMMVVMはビューとモデルを繋ぐビューモデルが重要な役割を果たします。問題は、画面遷移やモデルレイヤーの設計が示されていないことです。極端な例ですが、ビューモデルにAPIアクセスのコードを書いてしまい、ビューモデルが肥大化して問題になったという話を聞いたことがあります。MVVMを採用するほどのアプリになると画面遷移やモデルレイヤーの実装方法を規定すると良いのですが、MVC同様に

    yatata
    yatata 2018/07/11
  • 【iOSDC2017】MVC→MVP→MVVM→Fluxの実装の違いを比較してみる - Qiita

    はじめに iOSDC2017にてMVC→MVP→MVVM→Fluxの実装の違いを比較してみるという内容で、Githubのユーザー検索のデモアプリをベースにした発表資料で登壇させていただきました。 登壇枠が15分だったため、ViewControllerを跨いだ(FavoriteViewController <-> RepositoryViewController)4つのデザインパターンの実装の違いにフォーカスした内容となっているので、画面遷移やテストの書き方などについても補足説明を書いていきます。 ※MVP、MVVM、Fluxでの補足説明という形で書いていきます。 登壇資料は下記になります。 日のプレゼン資料、アップしました。https://t.co/TIecyULVp4#iosdc — marty-suzuki (@marty_suzuki) September 17, 2017 また登

    【iOSDC2017】MVC→MVP→MVVM→Fluxの実装の違いを比較してみる - Qiita
    yatata
    yatata 2018/07/11
  • まだMVC,MVP,MVVMで消耗してるの? iOS Clean Architectureについて - Qiita

    <この記事は「Money Forward Advent Calendar 2015」の22日目の記事です> この記事は、iOS Clean Architectureと実際にコードへ適用した内容について紹介します。 コードについては、改善の余地があるため随時修正していくと思います。 → github: https://github.com/koutalou/iOS-CleanArchitecture iOS開発においてよくある問題点 「ビジネスロジックはModelに置くべき」と言うが、開発者によって理解や意見がバラバラで統一的な実装ができない 度重なる仕様変更や複雑な仕様に対応するためにViewControllerや特定のModelが肥大化し、ビジネスロジックの質を見失う MVC,MVP,MVVMだけで考えると、どこかのレイヤが複数の責務を持つことになり依存度の高い複雑なコードが生まれてし

    まだMVC,MVP,MVVMで消耗してるの? iOS Clean Architectureについて - Qiita
    yatata
    yatata 2018/07/11
  • 万人の万人に対する闘争 - Wikipedia

    「万人の万人に対する闘争」(ばんにんのばんにんにたいするとうそう、羅: bellum omnium contra omnes, 英: the war of all against all)とは、トマス・ホッブズが1642年の『市民論』(De Cive)、及び1651年の『リヴァイアサン』(Leviathan)での思考実験において、彼が考える自然状態における人間の有様を表すために持ち出した表現を言う[注釈 1]。 「万人の万人に対する戦い(闘い)」、「万人の万人に対する戦争」などとも訳される。 ちなみに、プラトンの後期対話篇『法律』第1巻 第3章 (626D) には、元ネタとも言える「(公的には) 万人は互いに対して敵である」という表現が出てくる。 詳細[編集] 主著として有名な『リヴァイアサン』で書かれたフレーズと勘違いしている者も多いが、ラテン語による「bellum omnium con

    yatata
    yatata 2018/07/11
  • MVVMパターンの常識 ― 「M」「V」「VM」の役割とは?(1/5) - @IT

    .NET開発者中心 厳選ブログ記事 MVVMパターンの常識 ― 「M」「V」「VM」の役割とは? ―― 「the sea of fertility」より ―― 尾上 雅則 2011/05/18 「.NET開発者中心 厳選ブログ記事」シリーズでは、世界中にある膨大なブログ・コンテンツの中から、特にInsider.NET/.NET開発者中心の読者に有用だと考えられるブログ記事を編集部が発掘・厳選し、そのブログ記事を執筆したブロガーの許可の下、その全文を転載・翻訳しています。この活動により、.NET開発者のブログ文化の価値と質を高め、より一層の盛り上げに貢献することを目指しています。 MVVM(Model-View-ViewModel)パターンに関する知見があちこちに散らばっているように見えるので、そろそろまとめてみることにしました。この記事は、MVVMの基的な考え方・実装方法などを把握されて

  • 【iOSアプリ開発本の決定版】iOSアプリ開発デザインパターン入門発売しました - Qiita

    こんにちわ。今日行きつけの整体師に君は日の宝だと言われました、宝系エンジニアのばーちーです。ついに今日私自身の初著作「iOSアプリ開発デザインパターン入門」をインプレスR&Dさんから出版しました。 https://www.amazon.co.jp/dp/4844398326 書の目的 書の目的はMVC やMVVM などと呼ばれるiOS アプリケーション開発をするために必要な設計を学ぶことです。 私は前職などで、インターン生などの教育を担当していて、プログラミングのプの字も知らない人に対して、iOSを教えていました。そこで問題意識を持っていたのは、初心者から中級者への壁が高いこと、そしてそれらを橋渡しする良書が日には存在しないことです。海外だと何冊かありますが、日にはありません。最近では、iOSが初めてのプログラミング経験という方が多く、当然オブジェクト指向などの言葉も知らない

    【iOSアプリ開発本の決定版】iOSアプリ開発デザインパターン入門発売しました - Qiita
  • [Swift4]今更ながらMVVMのチュートリアルの翻訳をして理解を深めました - Qiita

    MVVMについてのおさらい 記事は下記のページの翻訳になります。翻訳の許可を頂いてます。 Design Patterns by Tutorials: MVVM ちなみに先に言っておきますが、 私はMVVMは面倒臭い派でMVCの方が好きです。 近年、iOS開発でMVVMがよく持ち上げられているのであえてこの記事を通してMVVMの理解を深めたいと思って読んでいました。 MVVMをこれから学ぶ人にも共有したくはありますが、 どちらかといえば「MVVMめっちゃいけてるやんって思っている方」にこそ日語で読んでいただきたいと思っての共有です。 Design Patterns by Tutorials: MVVM これは、我々の「チュートリアルによるデザインパターン」の第10章「Model-View-ViewModel」から抜粋したものです。あなたが開発する言語やプラットフォームに関係なく、デザイ

    [Swift4]今更ながらMVVMのチュートリアルの翻訳をして理解を深めました - Qiita
  • SaaS の機能は横を広げるより奥を深めるべき理由 - ボクココ

    ども、@kimihom です。 私は奥深さのあるサービスが好きだ。奥深さのあるサービスにはロマンがある。記事ではそんな奥深さのある SaaS について持論を展開する。"SaaS" とタイトルに記したが、別に SaaS に限る話でもないかもしれないので、サービス開発者の方に読んでいただけたら幸いだ。 横に広がるサービス 横に広がるサービスってのは、機能を増やすごとに単純にメニューを増やしていくような特に何も考えてないようなサービスのことを指す。私たちが普段使っているサービスでも、大量のメニューがあるようなサービスをいくつか使っていることかと思う。 このようなサービスがイケていないのは、「人によって全く使わない項目が、常に表示され続けてしまう」という可能性を常に孕んでいることだ。皆さんは大量にメニューがあるサービスの中で、当に使ったことのあるリンクは今までいくつだったろうか。大抵の場合、大

    SaaS の機能は横を広げるより奥を深めるべき理由 - ボクココ
    yatata
    yatata 2018/07/11
  • Ora: Get more done. With your team.

    Build roadmaps, plan sprints, manage product launches

    Ora: Get more done. With your team.
    yatata
    yatata 2018/07/11
  • 「なんとなく」のデザインはやめようーー『KARTE』で知られるプレイド社のロゴ刷新プロセス | CAREER HACK

    記事は、PLAID、STANDARDのデザイナーを兼務する鈴木健一さんよりご寄稿いただきました。鈴木さんによるnote「ロゴマークの刷新を通じた自社理念の強化と共有へのトライ」の 前編、及び後編をもとに、改めて寄稿用に構成・執筆いただいた内容となります。 [目次] ・はじめに|企業ロゴとプロダクトロゴの違い ・企業ロゴは、理念や行動規範を表現する ・デザインプロセス ・キーワード抽出(理念、行動規範から) ・キーワードを”モチーフ”に ・スケッチとブラッシュアップ ・ロゴタイプ(文字)部分のデザイン ・さいごに はじめに|企業ロゴとプロダクトロゴの違い デザイナーの@kenichisuzukiです。 KARTE(*)というプロダクトを提供する株式会社プレイド(PLAID, Inc.)で働いています。 この記事ではプレイドのロゴ刷新を例に、企業ロゴにおけるデザインのポイントについてご紹介

    「なんとなく」のデザインはやめようーー『KARTE』で知られるプレイド社のロゴ刷新プロセス | CAREER HACK