Chào mừng bạn đến với mạng thư mục phân loại! Đăng nhập người dùngĐăng ký ngay

martinfowler.com

  • 2022-01-06Ngày thu
  • 2022-02-15Đã cập nhật
martinfowler.com
  • Địa chỉ trang web:martinfowler.com
  • IP máy chủ:34.198.71.201
  • Mô tả trang web:

tên miền:martinfowler.comĐịnh giá

Về 1000~20000

tên miền:martinfowler.comlưu lượng

382

tên miền:martinfowler.comTốt hay xấu

Kiên nhẫn. Biến dữ thành lành vận lành mang dữ hóa ác

trang mạng:martinfowler.comTrọng lượng

3

trang mạng:martinfowler.comIP

34.198.71.201

trang mạng:martinfowler.comNội dung

martinfowler.comRefactoringileArchitectureAboutThoughtworksTopicsArchitectureRefactoringileDeliveryMicroservicesDataTestingDSLaboutmeAboutBooksFAQcontentVideosContentIndexBoardGamesPhotographyThoughtworksInsightsCareersRadarfollowRSSMastodonLinkedInX(Twitter)BGGSoftwaredevelopmentisayoungprofession,andwearestilllearningthetechniquesandbuildingthetoolstodoiteffectively.I'vebeeninvolvedinthisactivityforoverthreedecadesandinthelasttwoI'vebeenwritingonthiswebsiteaboutpatternsandpracticesthatmakeiteasiertobuildusefulsoftware.Thesitebeganasaplacetoputmyownwriting,butIalsouseittopublisharticlesbymycolleues.In2000,IjoinedThoughtworks,wheremyroleistolearnaboutthetechniquesthatwe'velearnedtodeliversoftwareforourclients,andpassthesetechniquesontothewidersoftwareindustry.Asthissitehasdevelopedintoarespectedplatformonsoftwaredevelopment,I'veeditedandpublishedarticlesbymycolleues,bothThoughtworkersandothers,tohelpusefulwritingreachawideraudience.photo:ChristopherFergusonMartinFowlerAwebsiteonbuildingsoftwareeffectivelyIfthere'sathemethatrunsthroughmyworkandwritingonthissite,it'stheinterplaybetweentheshifttowardsilethinkingandthetechnicalpatternsandpracticesthatmakeilesoftwaredevelopmentpractical.Whilespecificsoftechnologychangerapidlyinourprofession,fundamentalpracticesandpatternsaremorestable.Sowritingabouttheseallowsmetohearticlesonthissitethatareseveralyearsoldbutstillasrelevantaswhentheywerewritten.Assoftwarebecomesmorecriticaltomodernbusiness,softwareneedstobeabletoreactquicklytochanges,allowingnewfeaturestobebeconceived,developedandputintoproductionrapidly.Thetechniquesofilesoftwaredevelopmentbeganinthe1990sandbecamesteadilymorepopularinthelastdecade.Theyfocusonaflexibleapproachtoplanning,whichallowssoftwareproductstochangedirectionastheusers'needschangeandasproductmanerslearnmoreabouthowtomaketheiruserseffective.Whilewidelyacceptednow,ileapproachesarenoteasy,requiringsignificantskillsforateam,butmoreimportantlyacultureofopencollaborationbothwithintheteamandwithateam'spartners.Thisneedtorespondfluentlytochangeshasanimportantimpactuponthearchitectureofasoftwaresystem.Thesoftwareneedstobebuiltinsuchawaythatitisabletoadapttounexpectedchangesinfeatures.Oneofthemostimportantwaystodothisistowriteclearcode,makingiteasytounderstandwhattheprogramissupposedtodo.Thiscodeshouldbedividedintomoduleswhichallowdeveloperstounderstandonlythepartsofthesystemtheyneedtomakeachange.Thisproductioncodeshouldbesupportedwithautomatedteststhatcandmartinfowler.cometectanyerrorsmadewhenmakingachangewhileprovidingexamplesofhowinternalstructuresareused.Largeandcomplexsoftwareeffortsmayfindthemicroservicesarchitecturalstylehelpsteamsdeploysoftwarewithlessentanglingdependencies.Creatingsoftwarethathasagoodarchitectureisn'tsomethingthatcanbedonefirsttime.Likegoodprose,itneedsregularrevisionsasprogrammerslearnmoreaboutwhattheproductneedstodoandhowbesttodesigntheproducttoachieveitsgoals.Refactoringisanessentialtechniquetoallowaprogramtobechangedsafely.Itconsistsofmakingsmallchangesthatdon'taltertheobservablebehiorofthesoftware.Bycombininglotsofsmallchanges,developerscanrevisethesoftware'sstructuresupportingsignificantmodificationsthatweren'tplannedwhenthesystemwasfirstconceived.Softwarethatrunsonlyonadeveloper'smachineisn'tprovidingvaluetothecustomersofthesoftware.Traditionallyreleasingsoftwarehasbeenalongandcomplicatedprocess,onethathinderstheneedtoevolvesoftwarequickly.ContinuousDeliveryusesautomationandcollaborativeworkflowstoremovethisbottleneck,allowingteamstoreleasesoftwareasoftenasthecustomersdemand.ForContinuousDeliverytobepossible,weneedtobuildinasolidfoundationofTesting,witharangeofautomatedteststhatcangiveusconfidencethatourchangeshen'tintroducedanybugs.Thisleadsustointegratetestingintoprogramming,whichcanacttoimproveourarchitecture.PhotostreamSanFranciscoDataManementTherearemanykindsofsoftwareoutthere,thekindI'mprimarilyengedisEnterpriseApplications.Oneoftheenduringproblemsweneedtotackleinthisworldisdatamanement.TheaspectsofdatamanmentI'vefocusedonherearehowtomigratedatastoresastheirapplicationsrespondtochangingneeds,copingwithdifferentcontextsacrossalargeenterprise,theroleofNoSQLdatabases,andthebroaderissuesofcopingwithdatathatisbothBigandMessy.Domain-SpecificLanguesAcommonproblemincomplexsoftwaresystemsishowtocapturecomplicateddomainlogicinawaythatprogrammerscanbotheasilymanipulateandalsoeasilycommunicatetodomainexperts.Domain-SpecificLangues(DSLs)createacustomlangueforaparticularproblem,eitherwithcustomparsersorbyconventionswithinahostlangue.BooksI'vewrittensevenbooksonsoftwaredevelopment,includingRefactoring,PatternsofEnterpriseApplicationArchitecture,andUMLDistilled.I'malsotheeditorofasignatureseriesforAddison-Wesleythatincludesfivejoltawardwinners.MyBooksPe...ConferenceTalksI'moftenaskedtogivetalksatconferences,fromwhichI'veinferredthatI'maprettygoodspeaker-whichisironicsinceIreallyhategivingtalks.Youcanformyourownopinionofmytalksbywatchingvideosofsomemyconferencetalks.MyVideosPe...BoardGamesI'velongbeenafanofboardgames,Ienjoyagamethatfullyoccupiesmymind,clearingoutalltheseriousthoughtsforabit,whileenjoyingthecompanyofgoodfriends.Modernboardgamessawdramaticimprovementinthe1990'swiththeriseofEurogames,andIexpectmanypeoplewouldbesurprisediftheyhen'ttriedanyofthisnewgeneration.IalsoappearregularlyonHeyCardboard.MyBoardGamespe...TsAPIdesign ·ile ·ileadoption ·analysispatterns ·applicationarchitecture ·applicationintegration ·badthings ·boardgames ·buildscripting ·certification ·collaboration ·computerhistory ·conferencepanels ·conferences ·continuousdelivery ·covid-19 ·dataanalytics ·datamesh ·database ·design martinfowler.com·dictionary ·distributedcomputingmazine ·diversions ·diversity ·documentation ·domaindrivendesign ·domainspecificlangue ·domestic ·encapsulation ·enterprisearchitecture ·estimation ·eventarchitectures ·evolutionarydesign ·experiencereports ·expositionalarchitectures ·extremeprogramming ·front-end ·gadgets ·generativeAI ·ieeeSoftware ·infodecks ·internetculture ·interviews ·languefeature ·langueworkbench ·lean ·legacymodernization ·legal &mimartinfowler.comddot;metrics ·microservices ·mobile ·noSQL ·objectcollaborationdesign ·parsergenerators ·photography ·platforms ·podcast ·popular ·presentationtechnique ·privacy ·processtheory ·productivity ·programmingenvironments ·programmingstyle ·projectplanning ·recruiting ·refactoring ·refactoringboundary ·requirementsanalysis ·ruby ·security ·talkvideos ·teamenvironment ·teamorganization ·technicaldebt ·technicalleadership ·testcategories ·testing ·thoughtworks ·tools ·trel ·uml ·versioncontrol ·webdevelopment ·webservices ·website ·writing2024 ·2023 ·2022 ·2021 ·2020 ·2019 ·2018 ·2017 ·2016 ·2015 ·2014 ·2013 ·2012 ·2011 ·2010 ·2009 ·2008 ·2007 ·2006 ·2005 ·2004 ·2003 ·2002 ·2001 ·2000 ·1999 ·1998 ·1997 ·1996AllContentRecentChangesIfyou'dliketobenotifiedwhenIpostnewmaterial,subcribetomyRSS,LinkedIn,X(Twitter),orMastodonfeeds.Ialsoheapededicatedtorecentchanges.InterviewedbyBookOverflowpodcastonRefactoringFri04Oct202409:16CESTIwasinterviewedontheBookOverflowpodcastabouttheRefactoringbook.Wetalkedabouttheoriginsofthebook,therelationshipbetweenrefactoring,testing,andextremeprogramming,howrefactoringisusedinthewild,andtheroleofbooksandlong-formprosetoday.more…LegacyModernizationmeetsGenAITue17Sep202409:07MostofthetalkabouttheimpactofGenAIonsoftwaredevelopmentisaboutitsabilitytowrite(messy)code.Butmanyofusthinkit'sgoingtobemuchmoreusefultohelpusunderstandexistingmessycode,aspartofamodernizationeffort.MycolleuesAlessioFerri,TomCoggre,andShodhanShethhebeenconsideringhowGenAIcandothis,includingbuildinganinternaltooltohelpexplorethepossibilities.ThetoolusesanLLMtoenhanceaknowledgegraphbasedontheASTofthecodebase.ItalsousesanLLMtohelpusersquerythisknowledgegraph.more…GoverningdataproductsusingfitnessfunctionsThu05Sep202409:37Decentralizeddatamanementrequiresautomationtoscalegovernanceeffectively.FitnessfunctionsareapowerfulautomatedgovernancetechniquemycolleuesheappliedtodataproductswithinthecontextofaDataMesh.Sincedataproductsserveasthefoundationalbuildingblocksofadatastrategy,ensuringrobustgovernancearoundthemsignificantlyincreasesthechancesofsuccess.KiranPrakashexplainshowtodothis,startingwithsimpletestsforkeyarchitecturalcharacteristicsandmovingontoleveringmetadataandLargeLangueModels.more…Bliki:CycleTimeWed04Sep202400:00CycleTimeisameasureofhowlongittakestogetanewfeatureinasoftwaresystemfromideatorunninginproduction.Inilecircles,wetrytominimizecycletime.Wedothisbydefiningandimplementingverysmallfeaturesandminimizingdelaysinthedevelopmentprocess.Althoughtheroughnotionofcycletime,andtheimportanceofreducingit,iscommon,thereisalotofvariationsonhowcycletimeismeasured.more...RewritingStranglerFigThu22Aug202411:51Twodecadeso,IpostedthatIfoundthatthestranglerfigplantwasaninterestingmetaphorforthegradualreplacementofalegacysystem.Ididn’trefertothemetaphorsince,butmeanwhileitgrewalifeofitsown.Otherpeopleincreasinglyreferredtothestranglerfigapproachtomodernization,andtraffictothatpoststeadilyincreased:currentlyitgetsabout5000peviewsamonth,oneofthemorepopularpesonthissite.SoIdecidedIneededtoupdatethatpe,andherewrittenit,focusingonthecoreactivitiesweneedtodotomakeasuccessofsuchaventure.more...Onboardingtoa“legacy”codebasewiththehelpofAIThu15Aug202410:32MuchoftheattentiontogenerativeAIinsoftwaredevelopmentisaboutgeneratingcode.Butitmayheamoreusefulroleinhelpingusunderstandexistingcode.Thisisespeciallytrueforoldercodebasesthataregettinghardtomaintain(“legacy”)ortoimproveonboardinginteamsthathealotoffluctuation.BirgittaBöckelerdemonstratesthepossibilitiesherebypickinganissuefromanopen-sourcehospitalmanementsystemandexploringhowAIcouldhelpherdealwithit.more…TopicsArchitectureRefactoringileDeliveryMicroservicesDataTestingDSLaboutmeAboutBooksFAQcontentVideosContentIndexBoardGamesPhotographyThoughtworksInsightsCareersRadarfollowRSSMastodonLinkedInX(Twitter)BGG©MartinFowler|PrivacyPolicy|Disclosureswindow.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+newDate;ga('create','UA--1','auto');ga('send','peview');window.dataLayer=window.dataLayer||[];functiongt(){dataLayer.push(arguments);}gt('js',newDate());gt('config','G-6D51F4BDVF');encloseWhenSmall('.article-card','h3');

Địa điểm:martinfowler.comBáo cáo

Nếu có vi phạm trang web, vui lòng nhấp vào Báo cáoBáo cáo

Thông tin đề xuất

Trang web được đề xuất